20 __A__(
const int __i) :
24 int get()
const {
return i; }
26 friend inline std::ostream&
operator<<(std::ostream& out,
const __A__&
object)
28 return out <<
object.i;
43 inline void print(std::ostream& out,
int N,
T* p)
47 for (
int i = 0; i !=
N; ++i) {
48 out <<
' ' << setw(2) << p[i];
62 int main(
int argc,
char **argv)
70 JParser<> zap(
"Example program to test converions of array of objects to array of data members.");
76 catch(
const exception &error) {
77 FATAL(error.what() << endl);
85 int numberOfElements = 5;
87 for (
int i = 0; i != numberOfElements; ++i) {
88 buffer.push_back(__A__(i));
92 print(cout, numberOfElements, buffer.data());
94 print(cout, numberOfElements,
make_array(buffer.begin(), buffer.end(), &__A__::i) .data());
100 for (
int i = 0; i != numberOfElements; ++i, ++p) {
101 ASSERT(buffer[i].
get() == *p);
106 const int* p =
make_array(buffer.begin(), buffer.end(), &__A__::i).data();
108 for (
int i = 0; i != numberOfElements; ++i, ++p) {
109 ASSERT(buffer[i].i == *p);
Utility class to parse command line options.
int main(int argc, char *argv[])
T get(const JHead &header)
Get object from header.
#define ASSERT(A,...)
Assert macro.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
const array_type< JValue_t > & make_array(const JValue_t(&array)[N])
Method to create array of values.
do set_variable OUTPUT_DIRECTORY $WORKDIR T
Auxiliary methods to convert data members or return values of member methods of a set of objects to a...
General purpose messaging.
Utility class to parse command line options.
then usage $script[input file[working directory[option]]] nWhere option can be N