Boost logo

Boost :

From: Bernd Martin Wollny (bm.wollny_at_[hidden])
Date: 2005-11-11 09:14:18


-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160

Hello,
I tried to declare a boost:shared_ptr as a static member of a template
function. If I compile the program with Visual Studio all are Ok. If I try
to compile the code with gcc, gcc failed with:

t1.cpp:71: error: too few template-parameter-lists
t1.cpp:72: error: too few template-parameter-lists

There is a small mistake in my code but I can't find the error.

Can someone help me?
Bye
  Bernd

- ------------------ code -----------------------------
#include <boost/thread/mutex.hpp>
#include <boost/shared_ptr.hpp>

template <class T>
class SimpleSingleton
{
public:
    SimpleSingleton()
    {
    }

    ~SimpleSingleton()
    {
    }

    T * instance()
    {
        boost::mutex::scoped_lock sp_lock(inst_mutex);
        if (!as.get())
        {
            boost::shared_ptr<T> temp(new T);
            as=temp;
        }
        return as.get();
    }

protected:
    static boost::shared_ptr<T>(as);
    static boost::mutex inst_mutex;
};

class test
{
protected:
    test(void)
    {
            a_=0;
    }
public:
     ~test(void)
    {
    }

    int Get(void)
    {
        return a_;
    }

    void Set(int a)
    {
        a_ = a;
    }
protected:
    int a_;

    friend class SimpleSingleton<test>;
};

boost::shared_ptr<test> SimpleSingleton<test>::as;
boost::mutex SimpleSingleton<test>::inst_mutex;

int main(void)
{
  SimpleSingleton<test> t;
  t.instance()->Set(45);
  int b=t.instance()->Get();
  return b;
}

- ------------------ code -----------------------------

- --
TRIOPTICS GmbH
Bernd Martin Wollny
Software Designer

Hafenstrasse 39, 22880 Wedel/GERMANY
phone / fax: +49 (0)4103 18006-26 /-20
e-mail: bm.wollny_at_[hidden]

All E-Mails from bm.wollny_at_[hidden] are digital signed. If you get a
unsigned E-Mail, this E-Mail are a fake. Look at http://www.gnupg.org .

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Cygwin)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFDdKc4CjfVnTPD3b4RA+0HAKC4jcBEeYvc75ZqJj4q2cNALGFElwCfZANJ
X2i8t+fFa5o/rQQyha0KDqs=
=BUfl
-----END PGP SIGNATURE-----


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk