Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of boost. Click here for the latest Boost documentation.

Boost.Python

Header <boost/python/long.hpp>

Contents

Introduction
Classes
Class long_
Class long_ synopsis
Example(s)

Introduction

Exposes a TypeWrapper for the Python long integer type.

Classes

Class long_

Exposes the numeric type protocol of Python's built-in long type. The semantics of the constructors and member functions defined below can be fully understood by reading the TypeWrapper concept definition. Since long_ is publicly derived from object, the public object interface applies to long_ instances as well.

Class long_ synopsis

namespace boost { namespace python
{
  class long_ : public object
  {
   public:
      long_(); // new long_

      template <class T>
      explicit long_(T const& rhs);

      template <class T, class U>
      long_(T const& rhs, U const& base);
  };
}}

Example

namespace python = boost::python;

// compute a factorial without overflowing
python::long_ fact(long n)
{
   if (n == 0)
      return python::long_(1);
   else
      return n * fact(n - 1);
}

Revised 1 October, 2002

© Copyright Dave Abrahams 2002.