Mirror reflection library - Lagoon run-time layer 0.5.13
Classes | Typedefs | Functions

lagoon Namespace Reference

The Lagoon run-time layer built on Mirror is defined in this namespace. More...

Classes

struct  meta_meta_object
 The interface for reflecting Lagoon's meta-objects. More...
struct  meta_object
 The base interface for all Lagoon's meta-objects. More...
struct  meta_named_object
struct  meta_scoped_object
struct  meta_named_scoped_object
struct  meta_scope
struct  meta_unspecified_scope
struct  meta_namespace
struct  meta_global_scope
struct  meta_type
struct  meta_type_template
struct  meta_typedef
 Interface for reflecting typedefined type. More...
struct  meta_templated_type
struct  meta_inheritance
struct  meta_class_member
struct  meta_variable
struct  meta_free_variable
struct  meta_plain_free_variable
struct  meta_member_variable
struct  meta_parameter
struct  meta_class
struct  meta_templated_class
struct  meta_enum
struct  meta_overloaded_functions
struct  meta_function
struct  meta_constructor
struct  meta_member_function
struct  meta_conversion_operator
struct  meta_locator
struct  polymorph_factory_manager
 Interface for a polymorphic factory manager. More...
struct  polymorph_factory_composite
 Interface for a polymorphic factory composite or node. More...
struct  polymorph_factory_arrayer
 Interface for a polymorphic factory element arrayer. More...
struct  polymorph_factory_manufacturer
 Interface for a polymorphic factory manufacturer or leaf. More...
struct  polymorph_factory_suppliers
 Interface for polymorphic factory suppliers. More...
struct  polymorph_factory_enumerator
 Interface for a polymorphic factory enumerator leaf node. More...
struct  polymorph_factory_builder
 Interface for a polymorphic factory builder. More...
struct  polymorph_factory
 Abstract interface for polymorphic factories. More...
struct  specifier
 Common base interface for various specifiers. More...
class  shared
 The smart pointer-like wrapper for MetaObject(s) More...
class  range_base
 The base template for the implementation of ranges. More...
class  range
 The type of a range of managed pointers to the MetaObject. More...
struct  range_meta_object
 Trait class returning the meta-object type of a range. More...

Typedefs

typedef mirror::raw_ptr raw_ptr
typedef mirror::unique_raw_ptr unique_raw_ptr
typedef mirror::shared_raw_ptr shared_raw_ptr
typedef sql_fact_builder_templ
< sql_fact_def_traits
< libpq_fact_data >> 
libpq_factory_builder
typedef sdn_fact_builder_templ
< mirror::sdn_fact_mijson_traits
mijson_factory_builder
typedef sdn_fact_builder_templ
< mirror::sdn_fact_rapidxml_traits
rapidxml_factory_builder
typedef
script_fact_builder_templ
< script_fact_def_traits
< std::string::const_iterator >> 
script_factory_builder
typedef
script_fact_builder_templ
< script_fact_def_traits
< const char * >> 
c_str_script_factory_builder
typedef sql_fact_builder_templ
< sql_fact_def_traits
< soci_fact_data >> 
soci_factory_builder
typedef sdn_fact_builder_templ
< mirror::sdn_fact_wxxml_traits
wxxml_factory_builder
typedef
concrete_polymorph_factory_builder
< my_factory_builder_base,
my_factory_builder_unit > 
my_factory_builder

Functions

template<typename Type >
shared< meta_typereflected_type (void)
 Function for reflecting types.
template<typename Class >
shared< meta_classreflected_class (void)
 Function for reflecting classes.
shared< meta_namespacereflected_global_scope (void)
 Function reflecting the global scope.
template<typename ValueType , class... Ranges>
UnspecifiedRange< ValueType > chain (const Ranges &...ranges)
 Chains the ranges into a single range with a common ValueType.
template<typename Interface , class... Ranges>
UnspecifiedRange< shared
< Interface > > 
chain_mo (const Ranges &...ranges)
 Chains the ranges into a single range with a common Interface.
template<class Range , typename Predicate >
bool contains (Range range, Predicate predicate)
 Searches a range for an element satisfying a predicate.
template<class Interface , class Range >
UnspecifiedRange< Interface > extract (const Range &metaobjects)
 Extracts only meta-objects with a particular interface.
template<class Range , typename Predicate >
Range find_if (Range range, Predicate predicate)
 Searches a range for an element satisfying a predicate.
UnspecifiedRange< shared
< meta_named_scoped_object > > 
flatten (const shared< meta_scope > &scope)
 Get a range of all members of a scope including nested members.
UnspecifiedRange< shared
< meta_named_scoped_object > > 
flatten_in_order (const shared< meta_scope > &scope)
 Get a range of all members of a scope including nested members.
template<typename State , class Range , typename BinaryOp >
State fold (Range range, State state, BinaryOp op)
 Accumulating the results of calling a binary functor on the elements.
template<typename State , class Range , typename BinaryOp >
State & fold_ref (Range range, State &state_ref, BinaryOp op)
 Accumulating the results of calling a binary functor on the elements.
template<typename State , class Range , typename InitialOp , typename DefaultOp , typename FinalOp >
State & fold_ref (Range range, State &state_ref, InitialOp initial, DefaultOp op, FinalOp final)
 Accumulating the results of calling a binary functor on the elements.
template<class Range , typename Functor >
Functor for_each (Range range, Functor func)
 Executes an unary functor on each element of a range.
template<class Range >
UnspecifiedRange limit (Range range, size_t count)
 Limits the range to contain maximum of n elements.
template<class Range >
UnspecifiedRange link (const std::initializer_list< Range > &ranges)
 Links the homogenous ranges into a single range.
template<class Range >
Range offset (Range range, size_t amount)
 Offsets the beginning of the range by N elements.
template<class Range , typename Predicate >
UnspecifiedRange only_if (Range range, Predicate predicate)
 Adapts the range to contain only elements satisfying a predicate.
template<class Range , typename SortProc >
UnspecifiedRange sort (Range range, SortProc sort_proc)
 Sorts the elements in the range by using a strict weak ordering proc.
template<class Range >
StdRange make_std_range (Range range)
 Adapts a Lagoon's range to have a begin() and end() functions.
template<class Range , typename Transform >
UnspecifiedRange transform (Range range, Transform transf)
 Transforms the elements in the range by a functor.
template<class Range , typename Predicate >
UnspecifiedRange until (Range range, Predicate predicate)
 Adapts the range to end when a predicate is satisfied.
template<class Range >
home chochlik devel mirror lib
src lagoon example
class_layout_01 cpp void 
print_range_info (Range r)
template<class MetaClass >
void print_info (MetaClass meta_X)
template<class Range >
void print_info (Range r)

Detailed Description

The Lagoon run-time layer built on Mirror is defined in this namespace.

The Lagoon is a run-time layer which is built on top of the compile-time meta-objects provided by Mirror.


Copyright © 2006-2011 Matus Chochlik, University of Zilina, Zilina, Slovakia.
<matus.chochlik -at- fri.uniza.sk>
<chochlik -at -gmail.com>
Documentation generated on Fri Dec 16 2011 by Doxygen (version 1.7.3).
Important note: Although the 'boostified' version of Mirror uses the Boost C++ libraries Coding Guidelines and is implemented inside of the boost namespace, it IS NOT an officially reviewed and accepted Boost library. Mirror is being developed with the intention to be submitted for review for inclusion to the Boost C++ libraries.