###

# 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.