Revision: 649
http://svn.sourceforge.net/pygccxml/?rev=649&view=rev
Author: roman_yakovenko
Date: 2006-10-11 22:43:44 -0700 (Wed, 11 Oct 2006)
Log Message:
-----------
moving module_builder tutorials to documentation
Added Paths:
-----------
pyplusplus_dev/docs/documentation/tutorials/module_builder/generate_code.py
pyplusplus_dev/docs/documentation/tutorials/module_builder/hello_world.hpp
pyplusplus_dev/docs/documentation/tutorials/module_builder/hello_world.py.cpp
Removed Paths:
-------------
pyplusplus_dev/docs/documentation/tutorials/module_builder/generate_code.html
pyplusplus_dev/docs/documentation/tutorials/module_builder/hello_world.html
pyplusplus_dev/docs/documentation/tutorials/module_builder/result.html
Deleted: pyplusplus_dev/docs/documentation/tutorials/module_builder/generate_code.html
===================================================================
--- pyplusplus_dev/docs/documentation/tutorials/module_builder/generate_code.html 2006-10-11 21:41:52 UTC (rev 648)
+++ pyplusplus_dev/docs/documentation/tutorials/module_builder/generate_code.html 2006-10-12 05:43:44 UTC (rev 649)
@@ -1,101 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>generate_code.py</title>
-<meta name="GENERATOR" content="SciTE - www.Scintilla.org" />
-<style type="text/css">
-.S0 {
- color: #808080;
- background: #FFFFFF;
-}
-.S1 {
- font-family: 'Courier New';
- color: #007F00;
- background: #FFFFFF;
- font-size: 9pt;
-}
-.S4 {
- font-family: 'Courier New';
- color: #7F007F;
- background: #FFFFFF;
- font-size: 10pt;
-}
-.S5 {
- font-weight: bold;
- color: #00007F;
- background: #FFFFFF;
-}
-.S10 {
- font-weight: bold;
- color: #000000;
- background: #FFFFFF;
-}
-.S12 {
- color: #7F7F7F;
- background: #FFFFFF;
-}
-span {
- font-family: 'Courier New';
- color: #000000;
- background: #FFFFFF;
- font-size: 10pt;
-}
-</style>
-</head>
-<body bgcolor="#FFFFFF">
-<span><span class="S1">#! /usr/bin/python</span><br />
-<span class="S1"># Copyright 2004 Roman Yakovenko.</span><br />
-<span class="S1"># Distributed under the Boost Software License, Version 1.0. (See</span><br />
-<span class="S1"># accompanying file LICENSE_1_0.txt or copy at</span><br />
-<span class="S1"># http://www.boost.org/LICENSE_1_0.txt)</span><br />
-<br />
-<span class="S5">import</span><span class="S0"> </span>os<br />
-<span class="S5">import</span><span class="S0"> </span>sys<br />
-sys<span class="S10">.</span>path<span class="S10">.</span>append<span class="S10">(</span><span class="S0"> </span><span class="S4">'../..'</span><span class="S0"> </span><span class="S10">)</span><br />
-<span class="S5">from</span><span class="S0"> </span>environment<span class="S0"> </span><span class="S5">import</span><span class="S0"> </span>gccxml<br />
-<span class="S5">from</span><span class="S0"> </span>pyplusplus<span class="S0"> </span><span class="S5">import</span><span class="S0"> </span>module_builder<br />
-<br />
-mb<span class="S0"> </span><span class="S10">=</span><span class="S0"> </span>module_builder<span class="S10">.</span>module_builder_t<span class="S10">(</span><br />
-<span class="S0"> </span>files<span class="S10">=[</span><span class="S4">'hello_world.hpp'</span><span class="S10">]</span><br />
-<span class="S0"> </span><span class="S10">,</span><span class="S0"> </span>gccxml_path<span class="S10">=</span>gccxml<span class="S10">.</span>executable<span class="S0"> </span><span class="S10">)</span><span class="S0"> </span><span class="S1">#path to gccxml executable</span><br />
-<br />
-<span class="S1">#rename enum Color to color</span><br />
-Color<span class="S0"> </span><span class="S10">=</span><span class="S0"> </span>mb<span class="S10">.</span>enum<span class="S10">(</span><span class="S0"> </span><span class="S4">'color'</span><span class="S0"> </span><span class="S10">)</span><br />
-Color<span class="S10">.</span>rename<span class="S10">(</span><span class="S4">'Color'</span><span class="S10">)</span><br />
-<br />
-<span class="S1">#Set call policies to animal::get_name_ptr</span><br />
-animal<span class="S0"> </span><span class="S10">=</span><span class="S0"> </span>mb<span class="S10">.</span>class_<span class="S10">(</span><span class="S0"> </span><span class="S4">'animal'</span><span class="S0"> </span><span class="S10">)</span><br />
-get_name_ptr<span class="S0"> </span><span class="S10">=</span><span class="S0"> </span>animal<span class="S10">.</span>member_function<span class="S10">(</span><span class="S0"> </span><span class="S4">'get_name_ptr'</span><span class="S10">,</span><span class="S0"> </span>recursive<span class="S10">=</span>False<span class="S0"> </span><span class="S10">)</span><br />
-get_name_ptr<span class="S10">.</span>call_policies<span class="S0"> </span><span class="S10">=</span><span class="S0"> </span>module_builder<span class="S10">.</span>call_policies<span class="S10">.</span>return_internal_reference<span class="S10">()</span><br />
-<br />
-<span class="S1">#next code has same effect</span><br />
-get_name_ptr<span class="S0"> </span><span class="S10">=</span><span class="S0"> </span>mb<span class="S10">.</span>member_function<span class="S10">(</span><span class="S0"> </span><span class="S4">'get_name_ptr'</span><span class="S0"> </span><span class="S10">)</span><br />
-get_name_ptr<span class="S10">.</span>call_policies<span class="S0"> </span><span class="S10">=</span><span class="S0"> </span>module_builder<span class="S10">.</span>call_policies<span class="S10">.</span>return_internal_reference<span class="S10">()</span><br />
-<br />
-<span class="S1">#I want to exclude all classes with name starts with impl</span><br />
-impl_classes<span class="S0"> </span><span class="S10">=</span><span class="S0"> </span>mb<span class="S10">.</span>classes<span class="S10">(</span><span class="S0"> </span><span class="S5">lambda</span><span class="S0"> </span>decl<span class="S10">:</span><span class="S0"> </span>decl<span class="S10">.</span>name<span class="S10">.</span>startswith<span class="S10">(</span><span class="S0"> </span><span class="S4">'impl'</span><span class="S0"> </span><span class="S10">)</span><span class="S0"> </span><span class="S10">)</span><br />
-impl_classes<span class="S10">.</span>exclude<span class="S10">()</span><br />
-<br />
-<span class="S1">#I want to exclude all functions that returns pointer to int</span><br />
-ptr_to_int<span class="S0"> </span><span class="S10">=</span><span class="S0"> </span>mb<span class="S10">.</span>free_functions<span class="S10">(</span><span class="S0"> </span>return_type<span class="S10">=</span><span class="S4">'int *'</span><span class="S0"> </span><span class="S10">)</span><br />
-ptr_to_int<span class="S10">.</span>exclude<span class="S10">()</span><br />
-<br />
-<span class="S1">#I can print declarations to see what is going on</span><br />
-mb<span class="S10">.</span>print_declarations<span class="S10">()</span><br />
-<br />
-<span class="S1">#I can print single declaration</span><br />
-mb<span class="S10">.</span>print_declarations<span class="S10">(</span><span class="S0"> </span>animal<span class="S0"> </span><span class="S10">)</span><br />
-<br />
-<span class="S1">#Now it is the time to give a name to our module</span><br />
-mb<span class="S10">.</span>build_code_creator<span class="S10">(</span><span class="S0"> </span>module_name<span class="S10">=</span><span class="S4">'hw'</span><span class="S0"> </span><span class="S10">)</span><br />
-<br />
-<span class="S1">#It is common requirement in software world - each file should have license</span><br />
-mb<span class="S10">.</span>code_creator<span class="S10">.</span>license<span class="S0"> </span><span class="S10">=</span><span class="S0"> </span><span class="S4">'//Boost Software License( http://boost.org/more/license_info.html )'</span><br />
-<br />
-<span class="S1">#I don't want absolute includes within code</span><br />
-mb<span class="S10">.</span>code_creator<span class="S10">.</span>user_defined_directories<span class="S10">.</span>append<span class="S10">(</span><span class="S0"> </span>os<span class="S10">.</span>path<span class="S10">.</span>abspath<span class="S10">(</span><span class="S4">'.'</span><span class="S10">)</span><span class="S0"> </span><span class="S10">)</span><br />
-<br />
-<span class="S1">#And finally we can write code to the disk</span><br />
-mb<span class="S10">.</span>write_module<span class="S10">(</span><span class="S0"> </span>os<span class="S10">.</span>path<span class="S10">.</span>join<span class="S10">(</span><span class="S0"> </span>os<span class="S10">.</span>path<span class="S10">.</span>abspath<span class="S10">(</span><span class="S4">'.'</span><span class="S10">),</span><span class="S0"> </span><span class="S4">'hello_world.py.cpp'</span><span class="S0"> </span><span class="S10">)</span><span class="S0"> </span><span class="S10">)</span></span>
-</body>
-</html>
Copied: pyplusplus_dev/docs/documentation/tutorials/module_builder/generate_code.py (from rev 646, pyplusplus_dev/tutorials/module_builder/generate_code.py)
===================================================================
--- pyplusplus_dev/docs/documentation/tutorials/module_builder/generate_code.py (rev 0)
+++ pyplusplus_dev/docs/documentation/tutorials/module_builder/generate_code.py 2006-10-12 05:43:44 UTC (rev 649)
@@ -0,0 +1,60 @@
+#! /usr/bin/python
+# Copyright 2004 Roman Yakovenko.
+# Distributed under the Boost Software License, Version 1.0. (See
+# accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+#############################################################################
+## #
+## ANY CHANGE IN THIS FILE MUST BE REFLECTED IN docs/tutorials DIRECTORY #
+## #
+#############################################################################
+
+import os
+import sys
+sys.path.append( '../..' )
+from environment import gccxml
+from pyplusplus import module_builder
+
+mb = module_builder.module_builder_t(
+ files=['hello_world.hpp']
+ , gccxml_path=gccxml.executable ) #path to gccxml executable
+
+#rename enum Color to color
+Color = mb.enum( 'color' )
+Color.rename('Color')
+
+#Set call policies to animal::get_name_ptr
+animal = mb.class_( 'animal' )
+get_name_ptr = animal.member_function( 'get_name_ptr', recursive=False )
+get_name_ptr.call_policies = module_builder.call_policies.return_internal_reference()
+
+#next code has same effect
+get_name_ptr = mb.member_function( 'get_name_ptr' )
+get_name_ptr.call_policies = module_builder.call_policies.return_internal_reference()
+
+#I want to exclude all classes with name starts with impl
+impl_classes = mb.classes( lambda decl: decl.name.startswith( 'impl' ) )
+impl_classes.exclude()
+
+#I want to exclude all functions that returns pointer to int
+ptr_to_int = mb.free_functions( return_type='int *' )
+ptr_to_int.exclude()
+
+#I can print declarations to see what is going on
+mb.print_declarations()
+
+#I can print single declaration
+mb.print_declarations( animal )
+
+#Now it is the time to give a name to our module
+mb.build_code_creator( module_name='hw' )
+
+#It is common requirement in software world - each file should have license
+mb.code_creator.license = '//Boost Software License( http://boost.org/more/license_info.html )'
+
+#I don't want absolute includes within code
+mb.code_creator.user_defined_directories.append( os.path.abspath('.') )
+
+#And finally we can write code to the disk
+mb.write_module( os.path.join( os.path.abspath('.'), 'hello_world.py.cpp' ) )
\ No newline at end of file
Copied: pyplusplus_dev/docs/documentation/tutorials/module_builder/hello_world.hpp (from rev 646, pyplusplus_dev/tutorials/module_builder/hello_world.hpp)
===================================================================
--- pyplusplus_dev/docs/documentation/tutorials/module_builder/hello_world.hpp (rev 0)
+++ pyplusplus_dev/docs/documentation/tutorials/module_builder/hello_world.hpp 2006-10-12 05:43:44 UTC (rev 649)
@@ -0,0 +1,47 @@
+// Copyright 2004 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+/******************************************************************************************
+ * *
+ * ANY CHANGE IN THIS FILE MUST BE REFLECTED IN docs/tutorials DIRECTORY *
+ * *
+ *****************************************************************************************/
+
+#ifndef __hello_world_hpp__
+#define __hello_world_hpp__
+
+#include <string>
+
+//I want to rename color to Color
+enum color{ red, green, blue };
+
+struct animal{
+
+ animal( const std::string& name="" )
+ : m_name( name )
+ {}
+
+ //I need to set call policies to the function
+ const std::string* get_name_ptr() const
+ { return &m_name; }
+
+ const std::string& name() const
+ { return m_name; }
+
+private:
+ std::string m_name;
+
+};
+
+//I want to exclude next declarations:
+struct impl1{};
+struct impl2{};
+
+inline int* get_int_ptr(){ return 0;}
+inline int* get_int_ptr(int){ return 0;}
+inline int* get_int_ptr(double){ return 0;}
+
+#endif//__hello_world_hpp__
+
Deleted: pyplusplus_dev/docs/documentation/tutorials/module_builder/hello_world.html
===================================================================
--- pyplusplus_dev/docs/documentation/tutorials/module_builder/hello_world.html 2006-10-11 21:41:52 UTC (rev 648)
+++ pyplusplus_dev/docs/documentation/tutorials/module_builder/hello_world.html 2006-10-12 05:43:44 UTC (rev 649)
@@ -1,97 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>hello_world.hpp</title>
-<meta name="GENERATOR" content="SciTE - www.Scintilla.org" />
-<style type="text/css">
-.S0 {
- color: #808080;
- background: #FFFFFF;
-}
-.S2 {
- font-family: 'Courier New';
- color: #007F00;
- background: #FFFFFF;
- font-size: 9pt;
-}
-.S3 {
- font-family: 'Courier New';
- color: #3F703F;
- background: #FFFFFF;
- font-size: 9pt;
-}
-.S4 {
- color: #007F7F;
- background: #FFFFFF;
-}
-.S5 {
- font-weight: bold;
- color: #00007F;
- background: #FFFFFF;
-}
-.S6 {
- color: #7F007F;
- background: #FFFFFF;
-}
-.S9 {
- color: #7F7F00;
- background: #FFFFFF;
-}
-.S10 {
- font-weight: bold;
- color: #000000;
- background: #FFFFFF;
-}
-span {
- font-family: 'Courier New';
- color: #000000;
- background: #FFFFFF;
- font-size: 10pt;
-}
-</style>
-</head>
-<body bgcolor="#FFFFFF">
-<span><span class="S2">// Copyright 2004 Roman Yakovenko.</span><br />
-<span class="S2">// Distributed under the Boost Software License, Version 1.0. (See</span><br />
-<span class="S2">// accompanying file LICENSE_1_0.txt or copy at</span><br />
-<span class="S2">// http://www.boost.org/LICENSE_1_0.txt)</span><br />
-<br />
-<span class="S9">#ifndef __hello_world_hpp__</span><br />
-<span class="S9">#define __hello_world_hpp__</span><br />
-<br />
-<span class="S9">#include <string></span><br />
-<br />
-<span class="S2">//I want to rename color to Color</span><br />
-<span class="S5">enum</span><span class="S0"> </span>color<span class="S10">{</span><span class="S0"> </span>red<span class="S10">,</span><span class="S0"> </span>green<span class="S10">,</span><span class="S0"> </span>blue<span class="S0"> </span><span class="S10">};</span><br />
-<br />
-<span class="S5">struct</span><span class="S0"> </span>animal<span class="S10">{</span><br />
-<span class="S0"> </span><br />
-<span class="S0"> </span>animal<span class="S10">(</span><span class="S0"> </span><span class="S5">const</span><span class="S0"> </span>std<span class="S10">::</span>string<span class="S10">&</span><span class="S0"> </span>name<span class="S10">=</span><span class="S6">""</span><span class="S0"> </span><span class="S10">)</span><br />
-<span class="S0"> </span><span class="S10">:</span><span class="S0"> </span>m_name<span class="S10">(</span><span class="S0"> </span>name<span class="S0"> </span><span class="S10">)</span><br />
-<span class="S0"> </span><span class="S10">{}</span><br />
-<span class="S0"> </span><br />
-<span class="S0"> </span><span class="S2">//I need to set call policies to the function</span><br />
-<span class="S0"> </span><span class="S5">const</span><span class="S0"> </span>std<span class="S10">::</span>string<span class="S10">*</span><span class="S0"> </span>get_name_ptr<span class="S10">()</span><span class="S0"> </span><span class="S5">const</span><br />
-<span class="S0"> </span><span class="S10">{</span><span class="S0"> </span><span class="S5">return</span><span class="S0"> </span><span class="S10">&</span>m_name<span class="S10">;</span><span class="S0"> </span><span class="S10">}</span><br />
-<br />
-<span class="S0"> </span><span class="S5">const</span><span class="S0"> </span>std<span class="S10">::</span>string<span class="S10">&</span><span class="S0"> </span>name<span class="S10">()</span><span class="S0"> </span><span class="S5">const</span><br />
-<span class="S0"> </span><span class="S10">{</span><span class="S0"> </span><span class="S5">return</span><span class="S0"> </span>m_name<span class="S10">;</span><span class="S0"> </span><span class="S10">}</span><br />
-<span class="S0"> </span><br />
-<span class="S5">private</span><span class="S10">:</span><span class="S0"> </span><br />
-<span class="S0"> </span>std<span class="S10">::</span>string<span class="S0"> </span>m_name<span class="S10">;</span><br />
-<br />
-<span class="S10">};</span><br />
-<br />
-<span class="S2">//I want to exclude next declarations:</span><br />
-<span class="S5">struct</span><span class="S0"> </span>impl1<span class="S10">{};</span><br />
-<span class="S5">struct</span><span class="S0"> </span>impl2<span class="S10">{};</span><br />
-<br />
-<span class="S5">inline</span><span class="S0"> </span><span class="S5">int</span><span class="S10">*</span><span class="S0"> </span>get_int_ptr<span class="S10">(){</span><span class="S0"> </span><span class="S5">return</span><span class="S0"> </span><span class="S4">0</span><span class="S10">;}</span><span class="S0"> </span><br />
-<span class="S5">inline</span><span class="S0"> </span><span class="S5">int</span><span class="S10">*</span><span class="S0"> </span>get_int_ptr<span class="S10">(</span><span class="S5">int</span><span class="S10">){</span><span class="S0"> </span><span class="S5">return</span><span class="S0"> </span><span class="S4">0</span><span class="S10">;}</span><br />
-<span class="S5">inline</span><span class="S0"> </span><span class="S5">int</span><span class="S10">*</span><span class="S0"> </span>get_int_ptr<span class="S10">(</span><span class="S5">double</span><span class="S10">){</span><span class="S0"> </span><span class="S5">return</span><span class="S0"> </span><span class="S4">0</span><span class="S10">;}</span><br />
-<span class="S0"> </span><br />
-<span class="S9">#endif</span><span class="S2">//__hello_world_hpp__</span><br />
-<br />
-<span class="S0"></span></span>
-</body>
-</html>
Copied: pyplusplus_dev/docs/documentation/tutorials/module_builder/hello_world.py.cpp (from rev 646, pyplusplus_dev/tutorials/module_builder/hello_world.py.cpp)
===================================================================
--- pyplusplus_dev/docs/documentation/tutorials/module_builder/hello_world.py.cpp (rev 0)
+++ pyplusplus_dev/docs/documentation/tutorials/module_builder/hello_world.py.cpp 2006-10-12 05:43:44 UTC (rev 649)
@@ -0,0 +1,28 @@
+// This file has been generated by pyplusplus.
+
+//Boost Software License( http://boost.org/more/license_info.html )
+
+#include "boost/python.hpp"
+
+#include "hello_world.hpp"
+
+namespace bp = boost::python;
+
+BOOST_PYTHON_MODULE(hw){
+ bp::enum_<color>("Color")
+ .value("blue", blue)
+ .value("green", green)
+ .value("red", red)
+ .export_values()
+ ;
+
+ bp::class_< animal, boost::noncopyable >( "animal", bp::init< bp::optional< std::string const & > >(( bp::arg("name")="" )) )
+ .def("get_name_ptr"
+ , &::animal::get_name_ptr
+ , bp::return_internal_reference< 1, bp::default_call_policies >() )
+ .def("name"
+ , &::animal::name
+ , bp::return_value_policy< bp::copy_const_reference, bp::default_call_policies >() );
+
+ bp::implicitly_convertible< std::string const &, animal >();
+}
Deleted: pyplusplus_dev/docs/documentation/tutorials/module_builder/result.html
===================================================================
--- pyplusplus_dev/docs/documentation/tutorials/module_builder/result.html 2006-10-11 21:41:52 UTC (rev 648)
+++ pyplusplus_dev/docs/documentation/tutorials/module_builder/result.html 2006-10-12 05:43:44 UTC (rev 649)
@@ -1,78 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>hello_world.py.cpp</title>
-<meta name="GENERATOR" content="SciTE - www.Scintilla.org" />
-<style type="text/css">
-.S0 {
- color: #808080;
- background: #FFFFFF;
-}
-.S2 {
- font-family: 'Courier New';
- color: #007F00;
- background: #FFFFFF;
- font-size: 9pt;
-}
-.S4 {
- color: #007F7F;
- background: #FFFFFF;
-}
-.S5 {
- font-weight: bold;
- color: #00007F;
- background: #FFFFFF;
-}
-.S6 {
- color: #7F007F;
- background: #FFFFFF;
-}
-.S9 {
- color: #7F7F00;
- background: #FFFFFF;
-}
-.S10 {
- font-weight: bold;
- color: #000000;
- background: #FFFFFF;
-}
-span {
- font-family: 'Courier New';
- color: #000000;
- background: #FFFFFF;
- font-size: 10pt;
-}
-</style>
-</head>
-<body bgcolor="#FFFFFF">
-<span><span class="S2">// This file has been generated by pyplusplus.</span><br />
-<br />
-<span class="S2">//Boost Software License( http://boost.org/more/license_info.html )</span><br />
-<br />
-<span class="S9">#include "boost/python.hpp"</span><br />
-<br />
-<span class="S9">#include "hello_world.hpp"</span><br />
-<br />
-<span class="S5">namespace</span><span class="S0"> </span>bp<span class="S0"> </span><span class="S10">=</span><span class="S0"> </span>boost<span class="S10">::</span>python<span class="S10">;</span><br />
-<br />
-BOOST_PYTHON_MODULE<span class="S10">(</span>hw<span class="S10">){</span><br />
-<span class="S0"> </span>bp<span class="S10">::</span>enum_<span class="S10"><</span>color<span class="S10">>(</span><span class="S6">"Color"</span><span class="S10">)</span><br />
-<span class="S0"> </span><span class="S10">.</span>value<span class="S10">(</span><span class="S6">"blue"</span><span class="S10">,</span><span class="S0"> </span>blue<span class="S10">)</span><br />
-<span class="S0"> </span><span class="S10">.</span>value<span class="S10">(</span><span class="S6">"green"</span><span class="S10">,</span><span class="S0"> </span>green<span class="S10">)</span><br />
-<span class="S0"> </span><span class="S10">.</span>value<span class="S10">(</span><span class="S6">"red"</span><span class="S10">,</span><span class="S0"> </span>red<span class="S10">)</span><br />
-<span class="S0"> </span><span class="S10">.</span>export_values<span class="S10">()</span><br />
-<span class="S0"> </span><span class="S10">;</span><br />
-<br />
-<span class="S0"> </span>bp<span class="S10">::</span>class_<span class="S10"><</span><span class="S0"> </span>animal<span class="S10">,</span><span class="S0"> </span>boost<span class="S10">::</span>noncopyable<span class="S0"> </span><span class="S10">>(</span><span class="S0"> </span><span class="S6">"animal"</span><span class="S10">,</span><span class="S0"> </span>bp<span class="S10">::</span>init<span class="S10"><</span><span class="S0"> </span>bp<span class="S10">::</span>optional<span class="S10"><</span><span class="S0"> </span>std<span class="S10">::</span>string<span class="S0"> </span><span class="S5">const</span><span class="S0"> </span><span class="S10">&</span><span class="S0"> </span><span class="S10">></span><span class="S0"> </span><span class="S10">>((</span><span class="S0"> </span>bp<span class="S10">::</span>arg<span class="S10">(</span><span class="S6">"name"</span><span class="S10">)=</span><span class="S6">""</span><span class="S0"> </span><span class="S10">))</span><span class="S0"> </span><span class="S10">)</span><span class="S0"> </span><br />
-<span class="S0"> </span><span class="S10">.</span>def<span class="S10">(</span><span class="S6">"get_name_ptr"</span><br />
-<span class="S0"> </span><span class="S10">,</span><span class="S0"> </span><span class="S10">&::</span>animal<span class="S10">::</span>get_name_ptr<br />
-<span class="S0"> </span><span class="S10">,</span><span class="S0"> </span>bp<span class="S10">::</span>return_internal_reference<span class="S10"><</span><span class="S0"> </span><span class="S4">1</span><span class="S10">,</span><span class="S0"> </span>bp<span class="S10">::</span>default_call_policies<span class="S0"> </span><span class="S10">>()</span><span class="S0"> </span><span class="S10">)</span><span class="S0"> </span><br />
-<span class="S0"> </span><span class="S10">.</span>def<span class="S10">(</span><span class="S6">"name"</span><br />
-<span class="S0"> </span><span class="S10">,</span><span class="S0"> </span><span class="S10">&::</span>animal<span class="S10">::</span>name<br />
-<span class="S0"> </span><span class="S10">,</span><span class="S0"> </span>bp<span class="S10">::</span>return_value_policy<span class="S10"><</span><span class="S0"> </span>bp<span class="S10">::</span>copy_const_reference<span class="S10">,</span><span class="S0"> </span>bp<span class="S10">::</span>default_call_policies<span class="S0"> </span><span class="S10">>()</span><span class="S0"> </span><span class="S10">);</span><br />
-<br />
-<span class="S0"> </span>bp<span class="S10">::</span>implicitly_convertible<span class="S10"><</span><span class="S0"> </span>std<span class="S10">::</span>string<span class="S0"> </span><span class="S5">const</span><span class="S0"> </span><span class="S10">&,</span><span class="S0"> </span>animal<span class="S0"> </span><span class="S10">>();</span><br />
-<span class="S10">}</span><br />
-<span class="S0"></span></span>
-</body>
-</html>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|