From 2ef165437ce47f50110a9b230f302c5cd5fde1d4 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 25 Feb 2011 12:07:33 +0200 Subject: Add support for examples in subdirectories Move the schema example to schema/custom. --- schema/employee.hxx | 150 ---------------------------------------------------- 1 file changed, 150 deletions(-) delete mode 100644 schema/employee.hxx (limited to 'schema/employee.hxx') diff --git a/schema/employee.hxx b/schema/employee.hxx deleted file mode 100644 index 25f8d8f..0000000 --- a/schema/employee.hxx +++ /dev/null @@ -1,150 +0,0 @@ -// file : schema/employee.hxx -// author : Boris Kolpackov -// copyright : not copyrighted - public domain - -#ifndef EMPLOYEE_HXX -#define EMPLOYEE_HXX - -#include -#include - -#include - -// Include TR1 header in a compiler-specific fashion. Fall back -// on the Boost implementation if the compiler does not support TR1. -// -#include - -using std::tr1::shared_ptr; - -typedef std::vector degrees; - -#pragma db value -class name -{ -public: - name (const std::string& first, const std::string& last) - : first_ (first), last_ (last) - { - } - - const std::string& - first () const - { - return first_; - } - - const std::string& - last () const - { - return last_; - } - -private: - friend class odb::access; - - #pragma db type("VARCHAR(255) NOT NULL") column("first_name") - std::string first_; - - #pragma db type("VARCHAR(255) NOT NULL") column("last_name") - std::string last_; -}; - -#pragma db object table("Employer") -class employer -{ -public: - employer (const std::string& name) - : name_ (name) - { - } - - const std::string& - name () const - { - return name_; - } - -private: - friend class odb::access; - - employer () {} - - #pragma db id type("VARCHAR(255) NOT NULL") column("name") - std::string name_; -}; - -#pragma db object table("Employee") -class employee -{ -public: - typedef ::employer employer_type; - - employee (unsigned long id, - const std::string& first, - const std::string& last, - shared_ptr employer) - : id_ (id), name_ (first, last), employer_ (employer) - { - } - - // Name. - // - typedef ::name name_type; - - const name_type& - name () const - { - return name_; - } - - // Degrees. - // - typedef ::degrees degrees_type; - - const degrees_type& - degrees () const - { - return degrees_; - } - - degrees_type& - degrees () - { - return degrees_; - } - - // Employer. - // - shared_ptr - employer () const - { - return employer_; - } - - void - employer (shared_ptr employer) - { - employer_ = employer; - } - -private: - friend class odb::access; - - employee (): name_ ("", "") {} - - #pragma db id type("INTEGER UNSIGNED NOT NULL") column("ssn") - unsigned long id_; - - #pragma db column("") // No column prefix. - name_type name_; - - #pragma db unordered table("EmployeeDegree") id_column("ssn") \ - value_type("VARCHAR(255) NOT NULL") value_column("degree") - degrees_type degrees_; - - #pragma db not_null column("employer") - shared_ptr employer_; -}; - -#endif // EMPLOYEE_HXX -- cgit v1.1