Ad
const rbacp4xml::Keys &keys
makes it clear that rbacp4xml is a class that has a member type called Keys.
Ad
const std::vector<rbacp4xml:Role:*> &roles
As far as I know,
not valid C ++. Since #defines do not allow colons inside, you can be sure that rbacp4xml: Role: has not been redefined in this way. Even if you define a role as an empty definition, i.e.
#define Role
you are not allowed to write rbacp4xml: Role: get rbacp4xml ::.
Therefore, I strongly suspect that this is a spelling mistake. He should probably read:
const std::vector<rbacp4xml::Role *> &roles
This means that you are creating a vector of pointers, each of which points to a variable of type rbacp4xml :: Role, i.e. in the rbacp4xml class there is a typedef role.
If your code compiles, perhaps this part is somehow bypassed. Try putting #error before the declaration. If your code is still compiling, you will realize that it bypasses. It may be skipped if you put in #ifdef .. # endif, for example.
source share