ecto
|
Namespaces | |
abi | |
detail | |
except | |
graph | |
profile | |
py | |
registry | |
serialization | |
test | |
Classes | |
class | atomic |
struct | bounded |
struct | cell |
ecto::cell is the non virtual interface to the basic building block of ecto graphs. This interface should never be the parent of client cell, but may be used for polymorphic access to client cells. More... | |
struct | cell_ |
cell_<T> is for registering an arbitrary class with the the cell NVI. This adds a barrier between client code and the cell. More... | |
struct | has_f |
Helper class for determining if client modules have function implementations or not. More... | |
struct | plasm |
The plasm helps construct the graph structure in ecto. It enforces several invariants that are necessary for scheduling DAGs and is used by all the ecto::schedulers to enable execution of modules that are connected in the graph. More... | |
class | ref_count |
class | scheduler |
class | spore |
The spore is a typed handle for tendrils, making holding onto tendrils a bit easier. More... | |
struct | spore_assign_impl |
struct | strand |
struct | strand_hash |
class | tendril |
A tendril is the slender, winding organ of the ecto::cell that gives it its awesome type erasure and uber flexibility. More... | |
class | tendrils |
The tendrils are a collection for the ecto::tendril class, addressable by a string key. More... | |
Typedefs | |
typedef uint64_t | stamp_t |
typedef boost::posix_time::ptime | ptime_t |
typedef boost::posix_time::time_duration | ptime_duration_t |
typedef boost::posix_time::hours | hours_t |
typedef boost::posix_time::minutes | minutes_t |
typedef boost::posix_time::seconds | seconds_t |
typedef boost::posix_time::millisec | millisec_t |
typedef boost::posix_time::microsec | microsec_t |
typedef boost::shared_ptr< tendril > | tendril_ptr |
typedef boost::shared_ptr< const tendril > | tendril_cptr |
typedef boost::shared_ptr< tendrils > | tendrils_ptr |
typedef boost::shared_ptr< const tendrils > | tendrils_cptr |
typedef boost::shared_ptr< cell > | cell_ptr |
typedef boost::shared_ptr< const cell > | cell_cptr |
typedef boost::shared_ptr< plasm > | plasm_ptr |
typedef boost::shared_ptr< const plasm > | plasm_cptr |
typedef boost::shared_ptr< strand > | strand_ptr |
typedef boost::shared_ptr< const strand > | strand_cptr |
Enumerations | |
enum | tendril_type { OUTPUT = 0, INPUT, PARAMETER } |
enum | ReturnCode { OK = 0, QUIT = 1, DO_OVER = 2, BREAK = 3, CONTINUE = 4, UNKNOWN = -1 } |
Return values for cell::process(). TODO: Should these live in cell? These are appropriate for non exceptional behavior. More... | |
Functions | |
template<typename CellImpl , typename T > | |
static spore_assign_impl< CellImpl, T > | spore_assign (spore< T > CellImpl::*ptm, const std::string &name) |
ECTO_EXPORT void | log (const char *, const char *, unsigned line, const std::string &msg) |
ECTO_EXPORT void | assert_failed (const char *, const char *file, unsigned line, const char *cond, const char *msg) |
bool | logging_on () |
const std::string & | ReturnCodeToStr (int rval) |
void | on_strand (cell_ptr c, boost::asio::io_service &s, boost::function< void()> h) |
template<typename T > | |
tendril_ptr | make_tendril () |
stamp_t | microseconds () |
ptime_t | local_time () |
ptime_t | universal_time () |
ECTO_EXPORT const std::string & | name_of (const std::type_info &ti) |
Get the unmangled type name of a type_info object. More... | |
ECTO_EXPORT const std::string & | name_of (const std::string &name) |
Demangle the given name. More... | |
ECTO_EXPORT std::string | symbolic_name_of (const std::string &name) |
template<typename T > | |
const std::string & | name_of () |
Get the unmangled type name of a type. More... | |
template<typename T > | |
const std::string & | symbolic_name_of () |
typedef boost::shared_ptr<const cell> ecto::cell_cptr |
typedef boost::shared_ptr<cell> ecto::cell_ptr |
typedef boost::posix_time::hours ecto::hours_t |
typedef boost::posix_time::microsec ecto::microsec_t |
typedef boost::posix_time::millisec ecto::millisec_t |
typedef boost::posix_time::minutes ecto::minutes_t |
typedef boost::shared_ptr<const plasm> ecto::plasm_cptr |
typedef boost::shared_ptr<plasm> ecto::plasm_ptr |
typedef boost::posix_time::time_duration ecto::ptime_duration_t |
typedef boost::posix_time::ptime ecto::ptime_t |
typedef boost::posix_time::seconds ecto::seconds_t |
typedef uint64_t ecto::stamp_t |
typedef boost::shared_ptr<const strand> ecto::strand_cptr |
typedef boost::shared_ptr<strand> ecto::strand_ptr |
typedef boost::shared_ptr<const tendril> ecto::tendril_cptr |
typedef boost::shared_ptr<tendril> ecto::tendril_ptr |
typedef boost::shared_ptr<const tendrils> ecto::tendrils_cptr |
typedef boost::shared_ptr<tendrils> ecto::tendrils_ptr |
enum ecto::ReturnCode |
Return values for cell::process(). TODO: Should these live in cell? These are appropriate for non exceptional behavior.
enum ecto::tendril_type |
ECTO_EXPORT void ecto::assert_failed | ( | const char * | , |
const char * | file, | ||
unsigned | line, | ||
const char * | cond, | ||
const char * | msg | ||
) |
ptime_t ecto::local_time | ( | ) |
ECTO_EXPORT void ecto::log | ( | const char * | , |
const char * | , | ||
unsigned | line, | ||
const std::string & | msg | ||
) |
bool ecto::logging_on | ( | ) |
tendril_ptr ecto::make_tendril | ( | ) |
stamp_t ecto::microseconds | ( | ) |
The number of microseconds since the first call to this function.
ECTO_EXPORT const std::string& ecto::name_of | ( | const std::type_info & | ti | ) |
Get the unmangled type name of a type_info object.
ti | The type_info to look up unmangled name for. |
ECTO_EXPORT const std::string& ecto::name_of | ( | const std::string & | name | ) |
Demangle the given name.
const std::string& ecto::name_of | ( | ) |
Get the unmangled type name of a type.
T | the type that one wants a name for. |
void ecto::on_strand | ( | cell_ptr | c, |
boost::asio::io_service & | s, | ||
boost::function< void()> | h | ||
) |
const std::string& ecto::ReturnCodeToStr | ( | int | rval | ) |
|
static |
Constructs a function object used for static time registration of a pointer to member ecto::spore<T> and a ecto::tendrils object.
ptm | A pointer to an ecto::spore<T> member of your cell impl. |
name | The corresponding key in the ecto::tendrils object. |
ECTO_EXPORT std::string ecto::symbolic_name_of | ( | const std::string & | name | ) |
const std::string& ecto::symbolic_name_of | ( | ) |
ptime_t ecto::universal_time | ( | ) |