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




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...


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


enum  tendril_type { OUTPUT = 0, INPUT, PARAMETER }
enum  ReturnCode {
  OK = 0, QUIT = 1, DO_OVER = 2, BREAK = 3,
 Return values for cell::process(). TODO: Should these live in cell? These are appropriate for non exceptional behavior. More...


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.


Everything A OK.


Explicit quit now.


This modules' process call needs to be made again.


Stop execution in my scope, jump to outer scope.


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


Unknown return code.


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.

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.

tiThe type_info to look up unmangled name for.
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.
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 

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

ptmA pointer to an ecto::spore<T> member of your cell impl.
nameThe corresponding key in the ecto::tendrils object.
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 ( )