Skip to content

pylon/GrabResultPtr.h#

Contains a smart pointer that holds a reference to grab result data.

Namespaces#

Name
Pylon
Contains definitions of pylon types.
Pylon::PylonPrivate

Classes#

Name
class Pylon::CGrabResultPtr
A smart pointer holding a reference to grab result data.

Source code#

//-----------------------------------------------------------------------------
//  Basler pylon SDK
//  Copyright (c) 2010-2022 Basler AG
//  http://www.baslerweb.com
//  Author:  Andreas Gau
//-----------------------------------------------------------------------------
#ifndef INCLUDED_GRABRESULTPTR_H_4356898
#define INCLUDED_GRABRESULTPTR_H_4356898

#include <pylon/Platform.h>

#ifdef _MSC_VER
#   pragma pack(push, PYLON_PACKING)
#endif /* _MSC_VER */

#include <pylon/PylonBase.h>
#include <pylon/GrabResultData.h>
#include <pylon/Image.h>

namespace Pylon
{
    namespace PylonPrivate
    {
        class CGrabResultDataConverter;
    }

    class PYLONBASE_API CGrabResultPtr
    {
    public:
        CGrabResultPtr();


        CGrabResultPtr( const CGrabResultPtr& rhs );


        CGrabResultPtr& operator = ( const CGrabResultPtr& rhs );


        ~CGrabResultPtr();


        CGrabResultData* operator->() const;


        bool IsValid() const;


        operator bool() const;


        void Release();


        operator IImage& () const;


        bool IsUnique() const;


        class CGrabResultPtrImpl;
        CGrabResultPtr& operator = ( const CGrabResultPtrImpl& rhs );
    private:
        friend class PylonPrivate::CGrabResultDataConverter;
        CGrabResultData* GetPtr() const;
        mutable CGrabResultPtrImpl* m_pImpl;
        CGrabResultData* m_pGrabResultData;
    };

}

#ifdef _MSC_VER
#   pragma pack(pop)
#endif /* _MSC_VER */

#endif /* INCLUDED_GRABRESULTPTR_H_4356898 */

Updated on 5 July 2022 at 15:30:01