Class template svm_ptr

| Home | Libraries | People | FAQ | More

## Class template svm_ptr

boost::compute::svm_ptr

## Synopsis

    // In header: <boost/compute/memory/svm_ptr.hpp>

    template<typename T>
    class svm_ptr {
    public:
      // types
      typedef T                               value_type;
      typedef std::ptrdiff_t                  difference_type;
      typedef T *                             pointer;
      typedef T &                             reference;
      typedef std::random_access_iterator_tag iterator_category;

      // construct/copy/destruct
      svm_ptr();
      explicit svm_ptr(void *);
      svm_ptr(const svm_ptr< T > &);
      svm_ptr & operator=(const svm_ptr< T > &);
      ~svm_ptr();

      // public member functions
      void * get() const;
      svm_ptr< T > operator+(difference_type);
      difference_type operator-(svm_ptr< T >);
    };

## Description

### `svm_ptr` public construct/copy/destruct

1.     svm_ptr();

2.     explicit svm_ptr(void * ptr);

3.     svm_ptr(const svm_ptr< T > & other);

4.     svm_ptr & operator=(const svm_ptr< T > & other);

5.     ~svm_ptr();

### `svm_ptr` public member functions

1.     void * get() const;

2.     svm_ptr< T > operator+(difference_type n);

3.     difference_type operator-(svm_ptr< T > other);