15 #ifndef Om_Source_DefaultSource_
26 typename ThisImplementation \
30 Om::Source::DefaultSource< \
38 inline Type_::~DefaultSource() {}
41 inline ThisImplementation & Type_::operator ++() {
43 dynamic_cast<ThisImplementation *
>(
this)
47 return static_cast<ThisImplementation &
>(*this);
51 inline ThisImplementation Type_::operator ++(
int) {
53 dynamic_cast<ThisImplementation *
>(
this)
55 ThisImplementation theSource(
56 static_cast<ThisImplementation &
>(*
this)
63 inline bool Type_::Equals(
64 Source<ThisItem>
const & theSource
67 dynamic_cast<ThisImplementation
const *
>(
this)
69 ThisImplementation
const *
const theImplementation =
dynamic_cast<ThisImplementation
const *
>(&theSource);
72 theImplementation->Equals(
73 static_cast<ThisImplementation
const &
>(*
this)