VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
doubleBufferedDataStorage.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
10 
11 namespace makVrf
12 {
13  #define DEFINE_REF_ACCESSORS(ReturnType, Method, Member) \
14  const ReturnType& Method() const { return my##Member; }; \
15  ReturnType& Method() { return my##Member; };
16 
17  #define DEFINE_MUTATOR(Type, Mutator) \
18  void set##Mutator(const Type& v) { my##Mutator = v; };
19 
20  #define DEFINE_MUTATOR_PROTOTYPE(Type, Mutator) \
21  void set##Mutator(const Type& v);
22 
23  #define DEFINE_ACCESSOR_MUTATOR(ReturnType, Accessor, Mutator) \
24  const ReturnType& Accessor() const { return my##Mutator; }; \
25  DEFINE_MUTATOR(ReturnType, Mutator)
26 
27  #define DEFINE_ACCESSOR_MUTATOR_PROTOTYPE(ReturnType, Accessor, Mutator) \
28  const ReturnType Accessor() const; \
29  DEFINE_MUTATOR_PROTOTYPE(ReturnType, Mutator)
30 
31  #define UNDEFINED_RETURNVALUE_ACCESSOR(ReturnType, Member) \
32  virtual const ReturnType Member() const { throw DtUnimplementedMethod("The const &" #Member " const method is unimplemented"); };
33 
34  #define UNDEFINED_RETURNREF_ACCESSOR(ReturnType, Member) \
35  virtual const ReturnType& Member() const { throw DtUnimplementedMethod("The const &" #Member " const method is unimplemented"); };
36 
37  #define UNDEFINED_RETURNREF_CONST_ACCESSOR(ReturnType, Member) \
38  virtual const ReturnType& Member() const { throw DtUnimplementedMethod("The const &" #Member " const method is unimplemented"); };
39 
40  #define UNDEFINED_RETURNREF_ACCESSORS(ReturnType, Member) \
41  UNDEFINED_RETURNREF_CONST_ACCESSOR(ReturnType, Member) \
42  virtual ReturnType& Member() { throw DtUnimplementedMethod("The &" #Member " method is unimplemented"); };
43 
44  #define UNDEFINED_MUTATOR(Type, Member, Set) \
45  virtual void set##Set(const Type& v) { throw DtUnimplementedMethod("The set" #Set " method is unimplemented"); };
46 
47  #define UNDEFINED_MUTATOR_WITH_ARGS(Set, ...) \
48  virtual void set##Set(__VA_ARGS__) { throw DtUnimplementedMethod("The set" #Set " method is unimplemented"); };
49 
50  #define UNDEFINED_MUTATOR_METHOD(Set, ...) \
51  virtual void set##Set(__VA_ARGS__) { throw DtUnimplementedMethod("The set" #Set " method is unimplemented"); };
52 
53  #define UNDEFINED_RETURNVALUE_ACCESSOR_MUTATOR(Type, Member, Set) \
54  UNDEFINED_RETURNVALUE_ACCESSOR(Type, Member) \
55  UNDEFINED_MUTATOR(Type, Member, Set)
56 
57  #define UNDEFINED_RETURNREF_ACCESSOR_MUTATOR(Type, Member, Set) \
58  UNDEFINED_RETURNREF_ACCESSOR(Type, Member) \
59  UNDEFINED_MUTATOR(Type, Member, Set)
60 
61  #define UNDEFINED_RETURNREF_ACCESSORS_MUTATOR(Type, Member, Set) \
62  UNDEFINED_RETURNREF_ACCESSORS(Type, Member) \
63  UNDEFINED_MUTATOR(Type, Member, Set)
64 
65  #define UNDEFINED_CONST_METHOD(Type, Method, ...) \
66  virtual Type Method(__VA_ARGS__) const { throw DtUnimplementedMethod("The const " #Method " const method is unimplemented"); };
67 
68  #define UNDEFINED_METHOD(Type, Method, ...) \
69  virtual Type Method(__VA_ARGS__) { throw DtUnimplementedMethod("The " #Method " method is unimplemented"); };
70 }

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)