/**
   This program demonstrates the limits of appending to a namespace implemented
   with a struct as oppose to the flexibility to append to a namespace 
   that is fully supported by the compiler.

   @author jim stafford
   @version 19990608
*/
#include <iostream>

/** This namespace is implemented with a struct */
struct structNS1 {
   static const int val1=1;
   static const int val2=2;
};

/** This namespace is implemented with a compiler supported namespace */
namespace ansiiNS1 {
   const int val1=1; 
}

/** see how we can append to the namespace, unlike the one impl w/ struct */
namespace ansiiNS1 {
   const int val2=2;
}

int main() {
   cout << structNS1::val1 << structNS1::val2 << endl;
   cout << ansiiNS1::val1 << ansiiNS1::val2 << endl;
   return 0;
}

