CAMP is a multi-purpose reflection library developped by Technogerma Systems France (http://www.tegesoft.com). It provides an abstraction for most of the high-level concepts of C++: - Classes - Enumerations - Properties - Functions - Objects - Variables By wrapping all these concepts into abstract structures, CAMP provides an extra layer of flexibility to programs, and allow them to fully expose their data structures at runtime. Many applications can take advantage of CAMP, in order to automate tasks which would otherwise require a huge amount of work. For example, CAMP can be used to expose and edit objects' attributes into a graphical user interface. It can also be used to do automatic binding of C++ classes to script languages such as Python or Lua. Another possible application would be the serialization of objects to XML, text or binary formats. Or you can even combine all these examples to provide a powerful and consistent interface for manipulating your objects outside C++ code.