Sponsored Content
Top Forums Programming Dynamically enumerating the members of a C++ struct Post 302811593 by Corona688 on Thursday 23rd of May 2013 06:10:11 PM
Old 05-23-2013
Instead of having one big structure with hardcoded members like x.ytypeofvalue, have a container holding many structures with two members, name and value. You can store this in many kinds of data structures like lists, maps, vectors, arrays, most anything iterable.

Code:
#include <map>
#include <string>

#define foreach(var, container)                 \
                for(typeof((container).begin()) var = (container).begin(); \
                var != (container).end(); \
                ++var)

int main(void)
{
        std::map<std::string,std::string> mydata;

        mydata["a"]="b";
        mydata["c"]="d";

        foreach(x, mydata)
        {
                cout << (*x).first <<" "<<(*x).second<<"\b";
        }
}

 

9 More Discussions You Might Find Interesting

1. Programming

save a struct

hi all , can i save a structure in c in a file? how ? help me , thx. :) (2 Replies)
Discussion started by: kall_ANSI
2 Replies

2. Programming

struct tm problem

I receive an integer as argument for a function. within function definition i want it to be of type struct tm. eg.. main() { int a; ...... } function(...,..,a,..) int a; { struct tm tm; if(!a) ^ time(&a); ^ ... (4 Replies)
Discussion started by: bankpro
4 Replies

3. Programming

Enumerating hardware

I am trying to enumerate all hardware (plugged in devices) and I am using lshal source code from here: Cross Reference: /onnv/onnv-gate/usr/src/cmd/hal/tools/lshal.c and is missing information about plugged in monitors, and mouse and houppgae TV card. They came out in gnome device manager,... (0 Replies)
Discussion started by: gyula
0 Replies

4. Linux

GCOV : struct bb

Hi, I am working on gcov.Meaning, analysing the functionality of gcov. There is one structure called "struct bb". I am not sure, how struct bb members are getting assigned values. If anyone knows how it is happening pls let me know. Thanks in advance. --Vichu (0 Replies)
Discussion started by: Vichu
0 Replies

5. UNIX for Dummies Questions & Answers

How to access a struct within a struct?

Can someone tell me how to do this? Just a thought that entered my mind when learning about structs. First thought was: struct one { struct two; } struct two { three; } one->two->three would this be how you would access "three"? (1 Reply)
Discussion started by: unbelievable21
1 Replies

6. UNIX for Dummies Questions & Answers

struct winsize

what is struct winsize used for? i tried looking it up, but no luck. (0 Replies)
Discussion started by: l flipboi l
0 Replies

7. Programming

Using pointers to struct members as args to functions

In a well-known book on the C language, there is an example of an efficient method for using a struct member as an argument to a function. (I'm a C noob, but I believe the correct terminology might be: use call-by-reference instead of call-by-value.) The function is printf. Anyway, here's a... (5 Replies)
Discussion started by: uiop44
5 Replies

8. Programming

Storing C++-struct in file - problem when adding new item in struct

Hi, I have received an application that stores some properties in a file. The existing struct looks like this: struct TData { UINT uSizeIncludingStrings; // copy of Telnet data struct UINT uSize; // basic properties: TCHAR szHost; //defined in Sshconfig UINT iPortNr; TCHAR... (2 Replies)
Discussion started by: Powerponken
2 Replies

9. Programming

Get struct definition

I have many headers with huge amount of structures in them, typical one looks like this: $ cat a.h struct Rec1 { int f1; int f2; }; struct Rec2 { char r1; char r2; }; struct Rec3 { int f1; float k1; float ... (6 Replies)
Discussion started by: migurus
6 Replies
XcmsColor(3X11) 						  XLIB FUNCTIONS						   XcmsColor(3X11)

NAME
XcmsColor, XcmsRGB, XcmsRGBi, XcmsCIEXYZ, XcmsCIEuvY, XcmsCIExyY, XcmsCIELab, XcmsCIELuv, XcmsTekHVC, XcmsPad - Xcms color struture STRUCTURES
The structure for XcmsColor contains: typedef unsigned long XcmsColorFormat; typedef struct { union { XcmsRGB RGB; XcmsRGBi RGBi; XcmsCIEXYZ CIEXYZ; XcmsCIEuvY CIEuvY; XcmsCIExyY CIExyY; XcmsCIELab CIELab; XcmsCIELuv CIELuv; XcmsTekHVC TekHVC; XcmsPad Pad; } spec; unsigned long pixel; XcmsColorFormat format; } XcmsColor; typedef double XcmsFloat; typedef struct { unsigned short red; unsigned short green; unsigned short blue; } XcmsRGB; typedef struct { XcmsFloat red; XcmsFloat green; XcmsFloat blue; } XcmsRGBi; typedef struct { XcmsFloat X; XcmsFloat Y; XcmsFloat Z; } XcmsCIEXYZ; typedef struct { XcmsFloat u_prime; XcmsFloat v_prime; XcmsFloat Y; } XcmsCIEuvY; typedef struct { XcmsFloat x; XcmsFloat y; XcmsFloat Y; } XcmsCIExyY; typedef struct { XcmsFloat L_star; XcmsFloat a_star; XcmsFloat b_star; } XcmsCIELab; typedef struct { XcmsFloat L_star; XcmsFloat u_star; XcmsFloat v_star; } XcmsCIELuv; typedef struct { XcmsFloat H; XcmsFloat V; XcmsFloat C; } XcmsTekHVC; typedef struct { XcmsFloat pad0; XcmsFloat pad1; XcmsFloat pad2; XcmsFloat pad3; } XcmsPad; DESCRIPTION
The XcmsColor structure contains a union of substructures, each supporting color specification encoding for a particular color space. SEE ALSO
XcmsAllocColor(3X11), XcmsStoreColor(3X11), XcmsConvertColors(3X11), Xlib - C Language X Interface X Version 11 Release 6.6 XcmsColor(3X11)
All times are GMT -4. The time now is 10:08 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy