34 #if (defined(_MSC_VER) && defined(ITPP_SHARED_LIB) && !(defined(itpp_EXPORTS) || defined(itpp_debug_EXPORTS)))
36 #ifndef ITPP_PROTOCOL_EXCLUDED
37 #define ITPP_PROTOCOL_EXCLUDED
38 #pragma message( "PROTOCOL definitions are not available for MSVC shared builds" )
71 friend class Base_Signal;
79 it_assert(delta_time >= 0,
"Only causal simulations are possible");
94 virtual void exec(
void) = 0;
102 unsigned long long int id;
112 return (event1->
id > event2->
id);
129 friend class Base_Signal;
149 typedef std::deque<Base_Event*, std::allocator< Base_Event* > >::iterator Base_Event_Iterator;
151 static bool keep_running;
154 std::deque<Base_Event*, std::allocator<Base_Event*> >,
163 template <
class ObjectType>
168 Event(ObjectType *object_pointer,
void (ObjectType::*object_function_pointer)(),
const Ttype delta_time) :
Base_Event(delta_time) {
170 pm = object_function_pointer;
177 virtual void exec(
void) {(*po.*pm)(); }
180 void (ObjectType::*pm)();
194 void (ObjectType::*object_function_pointer)(DataType data),
197 pm = object_function_pointer;
210 void (ObjectType::*pm)(DataType data);
221 #endif // #ifndef EVENTS_H