classdesc_access.h
Go to the documentation of this file.
1 /*
2  @copyright Russell Standish 2000-2013
3  @author Russell Standish
4  This file is part of Classdesc
5 
6  Open source licensed under the MIT license. See LICENSE for details.
7 */
8 
9 #ifndef CLASSDESC_ACCESS
10 
14 namespace classdesc
15 {
16  template <class T> struct base_cast;
17 }
18 
19 namespace classdesc_access
20 {
21  template <class T> struct access_pack;
22  template <class T> struct access_unpack;
23  template <class T> struct access_xml_pack;
24  template <class T> struct access_xml_unpack;
25  template <class T> struct access_json_pack;
26  template <class T> struct access_json_unpack;
27  template <class T> struct access_random_init;
28 }
29 
31 
36 #define CLASSDESC_ACCESS(type) \
37  template <class _CD_ARG_TYPE> friend struct classdesc::base_cast; \
38  friend struct classdesc_access::access_pack<type>; \
39  friend struct classdesc_access::access_unpack<type>; \
40  friend struct classdesc_access::access_xml_pack<type>; \
41  friend struct classdesc_access::access_xml_unpack<type>; \
42  friend struct classdesc_access::access_json_pack<type>; \
43  friend struct classdesc_access::access_json_unpack<type>; \
44  friend struct classdesc_access::access_random_init<type>
45 
46 // for backward compatibility. Deprecated.
47 #define CLASSDESC_ACCESS_TEMPLATE(type) CLASSDESC_ACCESS(type)
48 
49 #endif
Definition: classdesc_access.h:23
Definition: classdesc_access.h:26
class to allow access to private members
Definition: classdesc_access.h:21
Definition: classdesc_access.h:25
class to allow access to private members
Definition: classdesc_access.h:22
Contains definitions related to classdesc functionality.
Definition: arrays.h:2514
Definition: classdesc_access.h:27
Contains access_* structs, and nothing else. These structs are used to gain access to private members...
Definition: accessor.h:55
Definition: classdesc_access.h:24