// [[[ HEADER ]]]
using std::cout; using std::cerr; using std::endl;
#ifndef __CPP__INCLUDED__MyClass_Good_h
#define __CPP__INCLUDED__MyClass_Good_h 0.001_000
// [[[ INCLUDES & OO INHERITANCE INCLUDES ]]]
#include <RPerl.cpp> // -> RPerl.h -> (rperltypes_mode.h; rperloperations.h; rperltypes.h; HelperFunctions.cpp)
#include <RPerl/CompileUnit/Module/Class.cpp>
# ifdef __PERL__TYPES
Purposefully_die_from_a_compile-time_error,_due_to____PERL__TYPES_being_defined.__We_need_to_define_only___CPP__TYPES_in_this_file!
# elif defined __CPP__TYPES
// [[[<<< BEGIN CPP TYPES >>>]]]
// [[[<<< BEGIN CPP TYPES >>>]]]
// [[[<<< BEGIN CPP TYPES >>>]]]
// [[[ OO INHERITANCE ]]]
class MyClass_Good : public RPerl__CompileUnit__Module__Class__CPP {
public:
// [[[ OO PROPERTIES ]]]
string foo_property = "quite a prize";
// [[[ OO METHODS ]]]
// <<< OO PROPERTIES, ACCESSORS & MUTATORS >>>
string get_foo_property() { return foo_property; }
void set_foo_property(string foo_property_new) { foo_property = foo_property_new; }
// <<< CONSTRUCTOR & DESTRUCTOR >>>
MyClass_Good() {}
~MyClass_Good() {}
// <<< CLASS NAME REPORTER >>>
virtual string myclassname() { return (const string) "MyClass_Good"; }
// <<< USER-DEFINED METHODS >>>
integer foo_method(integer foo_argument);
}; // end of class
// [[[ OO SUBCLASSES ]]]
#define MyClass_Good_rawptr MyClass_Good*
typedef std::unique_ptr<MyClass_Good> MyClass_Good_ptr;
typedef std::vector<MyClass_Good_ptr> MyClass_Good_arrayref;
typedef std::unordered_map<string, MyClass_Good_ptr> MyClass_Good_hashref;
typedef std::unordered_map<string, MyClass_Good_ptr>::iterator MyClass_Good_hashref_iterator;
// [[[ OO CONSTRUCTOR WRAPPER CLASS ]]]
class NEW_MyClass_Good {
public:
MyClass_Good_ptr wrapped_object;
NEW_MyClass_Good() : wrapped_object{new MyClass_Good()} {}
MyClass_Good_ptr&& NEW() { return std::move(wrapped_object); }
// <<< OO PROPERTIES, INITIALIZERS >>>
NEW_MyClass_Good& foo_property(string foo_property_init) { wrapped_object->foo_property = foo_property_init; return *this; }
};
// [[[ SUBROUTINES ]]]
integer MyClass_Good__foo_subroutine(integer foo_argument);
// <<< SHIM MACROS >>>
#define foo_subroutine(foo_argument) MyClass_Good__foo_subroutine(foo_argument)
// <<< OPERATIONS & DATA TYPES REPORTER >>>
integer MyClass_Good__MODE_ID() { return 2; } // CPPOPS_CPPTYPES is 2
// [[[<<< END CPP TYPES >>>]]]
// [[[<<< END CPP TYPES >>>]]]
// [[[<<< END CPP TYPES >>>]]]
# else
Purposefully_die_from_a_compile-time_error,_due_to_neither___PERL__TYPES_nor___CPP__TYPES_being_defined.__We_need_to_define_only___CPP__TYPES_in_this_file!
# endif
#endif
// end of class