ecto
Namespaces | Classes | Typedefs | Enumerations | Functions
ecto Namespace Reference

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< tendriltendril_ptr
 
typedef boost::shared_ptr< const tendriltendril_cptr
 
typedef boost::shared_ptr< tendrilstendrils_ptr
 
typedef boost::shared_ptr< const tendrilstendrils_cptr
 
typedef boost::shared_ptr< cellcell_ptr
 
typedef boost::shared_ptr< const cellcell_cptr
 
typedef boost::shared_ptr< plasmplasm_ptr
 
typedef boost::shared_ptr< const plasmplasm_cptr
 
typedef boost::shared_ptr< strandstrand_ptr
 
typedef boost::shared_ptr< const strandstrand_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 Documentation

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

Enumeration Type Documentation

Return values for cell::process(). TODO: Should these live in cell? These are appropriate for non exceptional behavior.

Enumerator
OK 

Everything A OK.

QUIT 

Explicit quit now.

DO_OVER 

This modules' process call needs to be made again.

BREAK 

Stop execution in my scope, jump to outer scope.

CONTINUE 

Stop execution in my scope, jump to top of scope.

UNKNOWN 

Unknown return code.

Enumerator
OUTPUT 
INPUT 
PARAMETER 

Function Documentation

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 ( )
template<typename T >
tendril_ptr ecto::make_tendril ( )
stamp_t ecto::microseconds ( )

The number of microseconds since the first call to this function.

Returns
microseconds, i.e. 10-6 seconds
ECTO_EXPORT const std::string& ecto::name_of ( const std::type_info &  ti)

Get the unmangled type name of a type_info object.

Parameters
tiThe type_info to look up unmangled name for.
Returns
The unmangled name. e.g. cv::Mat or pcl::PointCloud<pcl::PointXYZ>
ECTO_EXPORT const std::string& ecto::name_of ( const std::string &  name)

Demangle the given name.

template<typename T >
const std::string& ecto::name_of ( )

Get the unmangled type name of a type.

Template Parameters
Tthe type that one wants a name for.
Returns
The unmangled name of the given type.
void ecto::on_strand ( cell_ptr  c,
boost::asio::io_service &  s,
boost::function< void()>  h 
)
const std::string& ecto::ReturnCodeToStr ( int  rval)
template<typename CellImpl , typename T >
static spore_assign_impl<CellImpl, T> ecto::spore_assign ( spore< T > CellImpl::*  ptm,
const std::string &  name 
)
static

Constructs a function object used for static time registration of a pointer to member ecto::spore<T> and a ecto::tendrils object.

Parameters
ptmA pointer to an ecto::spore<T> member of your cell impl.
nameThe corresponding key in the ecto::tendrils object.
Returns
A function object appropriate for static time registration.
ECTO_EXPORT std::string ecto::symbolic_name_of ( const std::string &  name)
template<typename T >
const std::string& ecto::symbolic_name_of ( )
ptime_t ecto::universal_time ( )