Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 976 Categories, Downloaded 32.390.741 Times

C++ XML Objects

  Date Added: August 15, 2010  |  Visits: 885

C++ XML Objects

Report Broken Link
Printer Friendly Version

Product Homepage
Download (73 downloads)

C++ XML Objects is a framework for persisting hierarchies of C++ objects to and from XML. Boost, The STL and Patterns are used extensively. All platforms which support Boost will be supported. Sometimes there is a need to save hierarchies of C++ objects to a file (or DB etc), and then retrieve them at a later date. This project allows your classes to derive from a single object (called "xmlobj"), provide a few extra methods which allow the visitor pattern to work on them and register them so that they can be read or written to an XML stream. The only overhead is a per-class type and name of each object (as std::string). The members dont need to be wrapped which means that your memory footprint wont really get any larger. There are actually 2 separate projects which are combined to make "cppxmlobj". The first is a called "cppreflect" and provides a framework for providing reflection to C++ objects. Reflection is the mechanism by which your class members can be referenced by a string name. To achieve this, "cppreflect" uses the visitor pattern. The other project is "cpppersist" which adds the right methods to each object so that it can be read or written to some type of stream. These projects are included as part of this (they arent separate SourceForge projects), but they are completely independent of each other, so you could build your own scheme to persist your objects to a different type of file, or provide some other type of mechanism to read and write your objects data. To interoperate, these two projects share a common base class which is provided by another independent project called "cppcommon". This is a simple class which provides the abstract interfaces necessary for an object to provide different types of facilities. The project uses all the facilities of Boost for the build system (and for a bunch of the implementation) so you will need to get and build it. It uses the same license as Boost which means you can freely use it (its really only useful as source code anywhere), as long as you dont change the copyright message at the top of the files. If you find it useful, or find some bugs (and fix them, then get back to me and Ill incorporate the changes. If you do this through SourceForge, then we can track the bugs etc. Whats New in This Release: - Added in delayed loading. This allows a system to only load in an object in an XML file when the object is actually referenced. Added in "platforms" to documentation for supported platforms. Now builds on OS X Tiger, GCC 4.0 and latest BOOST (1.33.1). Also builds on latest Linux. Change the documentation layout (thanks Spirit), and added Generic objects. Also changed to use a single license.txt referenced at the top of each file. Since this code has been stable and working for a while, next release will be beta if I can build on a few more systems.. Get XML Literate Programming System at Fast, secure and free downloads from the largest Open Source applications and software directory. Framework for literate programming using XML written in C++. Boost, The STL and Patterns are used extensively. All platforms which support Boost will be supported.

Requirements: No special requirements
Platforms: Linux
Keyword: Boost C++ Framework Hierarchies Libraries Object Objects Programming To And From Xml
Users rating: 0/10

License: Freeware Size: 409.6 KB
More Reviews or Write Review

Libraries  -  VIF Lightweight Framework 1.0
VIF Lightweight Framework is an object-relational bridge to store and retrieve data in relational database management systems (RDMS). The frameworks building blocks to access data are data object models (DOM objects) and joined data object models...
Utilities  -  Hydrate 2.0
Hydrate is a Java tool that provides for fast efficient and error-free transformation of data between three different representations: relational databases, objects in an object-oriented programming language and extended markup language (XML)....
7 MB  
Utilities  -  C++ Communication Services Framework 0.7.7
A C++ framework utilizing Design Patterns for creating Linux and Windows communications applications that contain Dialogic products. Includes media and network classes (analog, digital, SIP, H323), multithreaded event handling, distributed app...
6.36 MB  
Libraries  -  libb64 1.2.1
libb64 is a library of ANSI C routines for fast encoding/decoding data into and from a base64-encoded format. C++ wrappers are included, as well as the source code for standalone encoding and decoding executables. Base64 uses a subset of...
7.17 KB  
Programming  -  Expat Objective-C Bindings 1.0
A small Objective-C library which provides a SAX-like object-oriented interface to the Expat XML parser library.
31.94 KB  
Programming  -  The unit++ test framework 3.0.0
Unit++ is a C++ framework in the spirit of junit, but implemented from scratch in C++. This is done to work better with the C++ world, than a port of the Java version can.
58.01 KB  
Programming  -  JPList 1.1
The JPList project provides a Java library to parse and build ASCII Property lists to and from Java objects. The design of the API is heavily influenced by the JDOM API, which provides a library to parse and build XML documents to and from JDOM...
40.96 KB  
Unit Conversion Tools  -  MiniCalcEuro 1.1
MiniCalcEuro is a small, multilingual, program in Visual C + that allows you to perform conversions (to and from) between Euros and all 12 currencies of the Euro zone. All calculations are made according to the official rules of number of...
187 KB  
Programming  -  XmlPL - The XML Processing Language 0.1.3
XmlPL is a C like language with special syntax for creating and manipulating XML data. If you know Java, C or C++ and XPath then XmlPL is easy to learn. XML is a native data type and is processed more naturally using XML path expressions and...
2.97 MB  
File Management  -  Zip and Pickle 1.0
This module saves and reloads compressed representations of generic Python objects to and from the disk.
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB  
Libraries  -  wolfSSL 3.15.3
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
3.88 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB