Advertisement
GeneralGDA

Scoped begin/end.

Oct 13th, 2015
406
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.46 KB | None | 0 0
  1. class IPersistentStorage
  2. {
  3. public:
  4.  
  5.     virtual ~IPersistentStorage() = default;
  6.  
  7.     virtual void put_string(const char* key, const char* value) = 0;
  8.     virtual const char* get_string(const char* key);
  9.  
  10.     template<typename T>
  11.     void array(const char* const array_name, const T& code)
  12.     {
  13.         do_begin_array(array_name);
  14.         code();
  15.         do_end_array();
  16.     }
  17.  
  18. private:
  19.  
  20.     virtual void do_begin_array(const char* array_name) = 0;
  21.     virtual void do_end_array() = 0;
  22.  
  23. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement