Om
taker.hpp
Go to the documentation of this file.
1 
15 #ifndef Om_Taker_
16 
17  #define Om_Taker_ \
18  Om::Taker
19 
20 namespace Om {
21 
22  // MARK: - Om::Taker
23 
28  template <typename ThisImplementation>
29  class Taker {
30 
31  public: // MARK: public (non-static)
32 
33  virtual ~Taker() = 0;
34 
39  void Take(ThisImplementation &);
40 
45  void Take(ThisImplementation const &);
46 
47  private: // MARK: private (non-static)
48 
49  Taker & operator =(Taker const &);
50 
51  };
52 
53 }
54 
55  #include "om/taker.cpp"
56 
57 #endif
An object that can take (copy or swap) another of the same type.
Definition: taker.hpp:29
void Take(ThisImplementation &)
Swaps.
void Take(ThisImplementation const &)
Assigns.
virtual ~Taker()=0
Taker & operator=(Taker const &)
The Om library.
Definition: code_point.hpp:26
Om source file.