7 #ifndef __evaluator_FunctionI_h__ 8 #define __evaluator_FunctionI_h__ 24 m_spLayout = a_layout;
26 m_spAS->populate(a_layout);
31 unsigned int i_as = m_spAS->size();
34 for(
unsigned int i_a = 0; i_a < i_as ; i_a++)
36 m_BAs[i_a] = (*(m_spAS))[i_a];
37 m_types[i_a] = m_BAs[i_a]->attribute()->type();
43 unsigned int i_as = m_types.size();
44 for(
unsigned int i_a = 0; i_a < i_as ; i_a++)
47 void *dst = r_dst.rawAttribute(pBA->index());
48 void *src = r_src.rawAttribute(pBA->index());
49 m_types[i_a]->assign(dst, src);
58 unsigned int i_as = a_other->m_spAS->size();
59 for(
unsigned int i_a = 0; i_a < i_as ; i_a++)
62 if( m_spLayout->checkAttribute(pBA->index()) )
65 m_types.push_back(pBA->
attribute()->type());
74 t_stdvector< sp<BaseType> > m_types;
75 t_stdvector< BaseAccessor * > m_BAs;
85 t_stdvector<WeakRecord> &, t_stdstring &) = 0;
86 virtual void eval(
Record &, t_stdvector<WeakRecord> &) = 0;
Heap-based support for classes participating in fe::ptr <>
Definition: Counted.h:35
Interface to add functions to an Evaluator.
Definition: FunctionI.h:80
kernel
Definition: namespace.dox:3
Type inspecific Accessor.
Definition: Accessor.h:26
A bundling of src/data type into a concrete notion.
Definition: FunctionI.h:16
sp< Attribute > attribute(void) const
Return the attribute this accessor is for.
Definition: Accessor.cc:151
Reference to an instance of a Layout.
Definition: RecordSB.h:35
Base for all interfacable components.
Definition: Component.h:20
Intrusive Smart Pointer.
Definition: src/core/ptr.h:53
Per-class participation non-RTTI fallback dynamic casting mechanism.
Definition: Castable.h:192