Skip to content

Commit 63323f0

Browse files
committed
Fix a number of wrong / invalid links.
1 parent e9c265a commit 63323f0

1 file changed

Lines changed: 16 additions & 20 deletions

File tree

doc/tutorial.qbk

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,7 @@ instances of class [^Derived]. In such cases, we use
424424
[^return_value_policy<manage_new_object>] to instruct Python to adopt
425425
the pointer to [^Base] and hold the instance in a new Python [^Base]
426426
object until the the Python object is destroyed. We will see more of
427-
Boost.Python [link python.call_policies call policies] later.
427+
Boost.Python [link tutorial.functions.call_policies call policies] later.
428428

429429
// Tell Python to take ownership of factory's result
430430
def("factory", factory,
@@ -462,7 +462,7 @@ functions so that a Python override may be called:
462462
};
463463

464464
Notice too that in addition to inheriting from `Base`, we also multiply-
465-
inherited `wrapper<Base>` (See [@../../../v2/wrapper.html Wrapper]). The
465+
inherited `wrapper<Base>` (See [@../reference/high_level_components/boost_python_wrapper_hpp.html#high_level_components.boost_python_wrapper_hpp.class_template_wrapper Wrapper]). The
466466
`wrapper` template makes the job of wrapping classes that are meant to
467467
overridden in Python, easier.
468468

@@ -494,11 +494,11 @@ Methods correspond roughly to C++'s [*member functions]]
494494
[section Virtual Functions with Default Implementations]
495495

496496
We've seen in the previous section how classes with pure virtual functions are
497-
wrapped using Boost.Python's [@../../../v2/wrapper.html class wrapper]
497+
wrapped using Boost.Python's [@../reference/high_level_components/boost_python_wrapper_hpp.html#high_level_components.boost_python_wrapper_hpp.class_template_wrapper class wrapper]
498498
facilities. If we wish to wrap [*non]-pure-virtual functions instead, the
499499
mechanism is a bit different.
500500

501-
Recall that in the [link python.class_virtual_functions previous section], we
501+
Recall that in the [link tutorial.exposing.class_virtual_functions previous section], we
502502
wrapped a class with a pure virtual function that we then implemented in C++, or
503503
Python classes derived from it. Our base class:
504504

@@ -811,7 +811,7 @@ or more policies can be composed by chaining. Here's the general syntax:
811811
policy3<args...> > >
812812

813813
Here is the list of predefined call policies. A complete reference detailing
814-
these can be found [@../../../v2/reference.html#models_of_call_policies here].
814+
these can be found [@../reference/function_invocation_and_creation/models_of_callpolicies.html here].
815815

816816
* [*with_custodian_and_ward]: Ties lifetimes of the arguments
817817
* [*with_custodian_and_ward_postcall]: Ties lifetimes of the arguments and results
@@ -896,7 +896,7 @@ to retrieve the default arguments:
896896
def("f", f); // defaults lost!
897897

898898
Because of this, when wrapping C++ code, we had to resort to manual
899-
wrapping as outlined in the [link python.overloading previous section], or
899+
wrapping as outlined in the [link tutorial.functions.overloading previous section], or
900900
writing thin wrappers:
901901

902902
// write "thin wrappers"
@@ -969,7 +969,7 @@ fourth macro argument). The thin wrappers are all enclosed in a class named
969969

970970
.def("wack_em", &george::wack_em, george_overloads());
971971

972-
See the [@../../../v2/overloads.html#BOOST_PYTHON_FUNCTION_OVERLOADS-spec overloads reference]
972+
See the [@../reference/function_invocation_and_creation/boost_python_overloads_hpp.html#function_invocation_and_creation.boost_python_overloads_hpp.macros overloads reference]
973973
for details.
974974

975975
[h2 init and optional]
@@ -1036,12 +1036,12 @@ Notice though that we have a situation now where we have a minimum of zero
10361036
It is important to emphasize however that [*the overloaded functions must
10371037
have a common sequence of initial arguments]. Otherwise, our scheme above
10381038
will not work. If this is not the case, we have to wrap our functions
1039-
[link python.overloading manually].
1039+
[link tutorial.functions.overloading manually].
10401040

10411041
Actually, we can mix and match manual wrapping of overloaded functions and
10421042
automatic wrapping through [^BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS] and
10431043
its sister, [^BOOST_PYTHON_FUNCTION_OVERLOADS]. Following up on our example
1044-
presented in the section [link python.overloading on overloading], since the
1044+
presented in the section [link tutorial.functions.overloading on overloading], since the
10451045
first 4 overload functins have a common sequence of initial arguments, we
10461046
can use [^BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS] to automatically wrap the
10471047
first three of the [^def]s and manually wrap just the last. Here's
@@ -1266,7 +1266,7 @@ associated with the C++ type passed as its first parameter.
12661266
The scope is a class that has an associated global Python object which
12671267
controls the Python namespace in which new extension classes and wrapped
12681268
functions will be defined as attributes. Details can be found
1269-
[@../../../v2/scope.html here].]
1269+
[@../reference/high_level_components/boost_python_scope_hpp.html#high_level_components.boost_python_scope_hpp.class_scope here].]
12701270

12711271
You can access those values in Python as
12721272

@@ -1402,8 +1402,8 @@ There is a difference however. While the reference-counting is fully
14021402
automatic in Python, the Python C API requires you to do it
14031403
[@http://www.python.org/doc/current/c-api/refcounting.html by hand]. This is
14041404
messy and especially hard to get right in the presence of C++ exceptions.
1405-
Fortunately Boost.Python provides the [@../../../v2/handle.html handle] and
1406-
[@../../../v2/object.html object] class templates to automate the process.
1405+
Fortunately Boost.Python provides the [@../reference/utility_and_infrastructure/boost_python_handle_hpp.html#utility_and_infrastructure.boost_python_handle_hpp.class_template_handle handle] and
1406+
[@../reference/object_wrappers/boost_python_object_hpp.html#object_wrappers.boost_python_object_hpp.class_object object] class templates to automate the process.
14071407

14081408
[h2 Running Python code]
14091409

@@ -1446,7 +1446,7 @@ containing a phrase that is well-known in programming circles.
14461446

14471447
Often we'd like to have a class to manipulate Python objects.
14481448
But we have already seen such a class above, and in the
1449-
[@python/object.html previous section]: the aptly named [^object] class
1449+
[link tutorial.object previous section]: the aptly named [^object] class
14501450
and its derivatives. We've already seen that they can be constructed from
14511451
a [^handle]. The following examples should further illustrate this fact:
14521452

@@ -1466,7 +1466,7 @@ which returns the result directly:
14661466
[h2 Exception handling]
14671467

14681468
If an exception occurs in the evaluation of the python expression,
1469-
[@../../../v2/errors.html#error_already_set-spec error_already_set] is thrown:
1469+
[@../reference/high_level_components/boost_python_errors_hpp.html#high_level_components.boost_python_errors_hpp.class_error_already_set error_already_set] is thrown:
14701470

14711471
try
14721472
{
@@ -1847,7 +1847,7 @@ we have a class [^point] in C++:
18471847
}
18481848

18491849
If we are using the technique from the previous session,
1850-
[link python.creating_packages Creating Packages], we can code directly
1850+
[link tutorial.techniques.creating_packages Creating Packages], we can code directly
18511851
into [^geom/\_\_init\_\_.py]:
18521852

18531853
[python]
@@ -1970,13 +1970,9 @@ This method is recommended too if you are developing the C++ library and
19701970
exporting it to Python at the same time: changes in a class will only demand
19711971
the compilation of a single cpp, instead of the entire wrapper code.
19721972

1973-
[note If you're exporting your classes with [@../../../../pyste/index.html Pyste],
1974-
take a look at the [^--multiple] option, that generates the wrappers in
1975-
various files as demonstrated here.]
1976-
19771973
[note This method is useful too if you are getting the error message
19781974
['"fatal error C1204:Compiler limit:internal structure overflow"] when compiling
1979-
a large source file, as explained in the [@../../../v2/faq.html#c1204 FAQ].]
1975+
a large source file, as explained in the [@../faq/fatal_error_c1204_compiler_limit.html FAQ].]
19801976

19811977
[endsect]
19821978
[endsect] [/ General Techniques]

0 commit comments

Comments
 (0)