Jump to content
  • Advertisement

jake_Ghost

Member
  • Content Count

    442
  • Joined

  • Last visited

Everything posted by jake_Ghost

  1. Hi, I am having trouble with my pixel shader and at this point I am totally lost on what to do next. Basically all I am doing is using a pixel shader to show the spots on a shield that have been hit. I have all the coords of the shield hit locations in the shader but what I don't know how to do is get the distance from a pixel to the hit location. Basically I'm looking at something like this, // ps_3_0 float4 ps_normal(in PS_INPUT In) : COLOR { float Distance; float2 Pos; float4 color= tex2D( Tex0, In.Texture ); for (int i = 0; i < CurHitSize; ++i) { Pos = PixelCoord - HitCoord; // I dont know how to get the pixel coord Distance = sqrt(Pos.x * Pos.x + Pos.y * Pos.y); if (Distance < 10) // I'm just using 10 as an example as it will obviously change depending on how large you want the impact to be { // Here I don't know how to return color of the pixel // I want all the pixels to be at 0 alpha except for the ones that are in the impact range } } } Any help would be great! Thanks, Jake
  2. I have written a small array class to handle dynamic arrays of objects. I did it mostly for speed. But I am running into problems with memcpy and std::string. I use a function called adjust pointer which just allocates a new array, copies the old one into it and deletes the old one. template <class T> void cGhost :: AdjustPointer(T *&Var, int &Size, int Increment) { if (Increment < 0) { if (Size + Increment < 1) { if (Var == NULL) return; else { SAFE_DELETE_ARRAY(Var); Size = 0; return; } } } T *New = new T[Size + Increment]; memcpy(&New[0], &Var[0], sizeof(T) * Size); SAFE_DELETE_ARRAY(Var); Var = New; Size += Increment; } But I am running into problems with strings. It doesn't seem to copy properly and I ended up having to use a for loop and set each iteration directly. I'm guessing it has something to do with the how the string stores it array of chars. Maybe a copy constructor is needed with strings? I'm not sure. I've spent a long time looking up this problem and I can't seem to find any solution. Here's the array class for reference. #pragma once #include "GhostVars.h" template<class T> class cArray { public: cArray(void) { Array = NULL; Size = 0; Increment = 1; Last = 0; CurIndex = 0; AutoDelete = true; } cArray(int size, int inc = 1, bool autodelete = true) { Array = NULL; Size = 0; Increment = inc; Last = 0; CurIndex = 0; AutoDelete = autodelete; Increase(size); } cArray(const cArray &cA) { Array = cA.Array; Size = cA.Size; Increment = cA.Increment; Last = cA.Last; CurIndex = cA.CurIndex; AutoDelete = cA.AutoDelete; } ~cArray(void) { if (AutoDelete) SAFE_DELETE_ARRAY(Array); } void Insert(const T &In, const int &Index); void Delete(const int &Index); void InsertSafe(const T &In, const int &Index); void DeleteSafe(const int &Index); __inline void Clear() { if (Size > 0) { SAFE_DELETE_ARRAY(Array); Size = 0; } } __inline T& operator[](const int &Index) { return Array[Index]; } __inline T *Get(const int &Index) { return &Array[Index]; } __inline T *GetFirst() { return &Array[0]; } __inline T *GetLast() { return &Array[Last]; } __inline bool GetSafe(T &Out, const int &Index) { if (Index >= 0 && Index < Size) { Out = Array[Index]; return true; } else return false; } __inline bool GetSafeFirst(T &Out) { if (Size > 0) { Out = Array[0]; return true; } else return false; } __inline bool GetSafeLast(T &Out) { if (Size > 0) { Out = Array[Last]; return true; } else return false; } __inline const int &GetSize() { return Size; } __inline const int &GetIncrement() { return Increment; } __inline const int &GetFilledSize() { return CurIndex; } __inline void operator++() { Ghost->AdjustPointer(Array, Size, 1); Last = Size - 1; } __inline void operator--() { Ghost->AdjustPointer(Array, Size, -1); Last = Size - 1; } __inline void Increase(int inc = 0) { if (inc == 0) inc = Increment; Ghost->AdjustPointer(Array, Size, inc); Last = Size - 1;} __inline void Decrease(int inc = 0) { if (inc == 0) inc = -Increment; Ghost->AdjustPointer(Array, Size, inc); Last = Size - 1;} __inline void Push(const T &In) { Ghost->AdjustPointer(Array, Size, 1); Last = Size - 1; Array[Last] = In; } __inline void Fill(const T &In) { Array[CurIndex] = In; ++CurIndex; if (CurIndex >= Size) Increase(); } __inline bool IsValidIndex(const int &Index) { return (Index >= 0 && Index < Size); } __inline void SetAutoDelete(const bool &In) { AutoDelete = In; } __inline void SetIncrement(const int &i) { if (i != 0) Increment = i; } __inline void SetCurIndex(const int &i = 0) { if (IsValidIndex(i)) CurIndex = i; } private: T *Array; int Size; int Increment; int Last; int CurIndex; bool AutoDelete; }; template<class T> void cArray<T> :: Insert(const T &In, const int &Index) { T *NewArray = new T[Size + 1]; memcpy(&NewArray[0], &Array[0], sizeof(T) * Index); NewArray[Index] = In; memcpy(&NewArray[Index + 1], &Array[Index], sizeof(T) * Size - Index); SAFE_DELETE_ARRAY(Array); Array = NewArray; ++Size; } template<class T> void cArray<T> :: Delete(const int &Index) { if (Size == 1) { SAFE_DELETE_ARRAY(Array); Size = 0; return; } --Size; T *NewArray = new T[Size]; if (Index != 0 && Index < Size) { memcpy(&NewArray[0], &Array[0], sizeof(T) * Index); memcpy(&NewArray[Index], &Array[Index + 1], sizeof(T) * (Size - Index)); } else if (Index == 0) memcpy(&NewArray[0], &Array[1], sizeof(T) * (Size)); else if (Index == Size) memcpy(&NewArray[0], &Array[0], sizeof(T) * (Size)); SAFE_DELETE_ARRAY(Array); Array = NewArray; } template<class T> void cArray<T> :: InsertSafe(const T &In, const int &Index) { if (Index >= 0 && Index < Size) { T *NewArray = new T[Size + 1]; memcpy(&NewArray[0], &Array[0], sizeof(T) * Index); NewArray[Index] = In; memcpy(&NewArray[Index + 1], &Array[Index], sizeof(T) * Size - Index); SAFE_DELETE_ARRAY(Array); Array = NewArray; ++Size; } } template<class T> void cArray<T> :: DeleteSafe(const int &Index) { if (Index >= 0 && Index < Size) { if (Size == 1) { SAFE_DELETE_ARRAY(Array); Size = 0; return; } --Size; T *NewArray = new T[Size]; if (Index != 0 && Index < Size) { memcpy(&NewArray[0], &Array[0], sizeof(T) * Index); memcpy(&NewArray[Index], &Array[Index + 1], sizeof(T) * (Size - Index)); } else if (Index == 0) memcpy(&NewArray[0], &Array[1], sizeof(T) * (Size)); else if (Index == Size) memcpy(&NewArray[0], &Array[0], sizeof(T) * (Size)); SAFE_DELETE_ARRAY(Array); Array = NewArray; } } Any help would be great! Thanks, Jake
  3. jake_Ghost

    Dynamic array of std::string

    I am, maybe that is the cause of the problems.
  4. jake_Ghost

    Dynamic array of std::string

    I use optimizations for the release version. Using iterators with vectors is as fast as a normal array it just requires more code to use it. Would it be a good idea to write a wrapper class that handles all the iterators to vectors to increase performance? I did a lot of testing with vectors when I was writing my particle system and I found that they were just too slow, even when using iterators and pointers to each memory block. What would you suggest I do?
  5. jake_Ghost

    Dynamic array of std::string

    I found that vectors are not so fast when not using iterators. Using the [] operator is very slow. But maybe I am doing something wrong? I also wrote this class as a learning experience. I find that writing my own class helps me understand things better.
  6. jake_Ghost

    Dynamic array of std::string

    Thank you so much!! Why didn't I think of that... :D
  7. jake_Ghost

    need help on first big project...

    I have written a simple way to read a file with c++. If you'd like I could send you the code so you can see how to use it or you can just use it yourself. It's simple to use, here's an example. cSerializer *S = new cSerializer(); std::string Input = ""; if (S->ReadFile(Filename)) { Pulse = new cParticle(); PulseE = new cParticle(); PulseInfo = new tPulse(); P = new Particle_SSE(1); S->Begin(); { if (S->GetBlockByName("Weapon")) { S->Begin(BlockVariable); S->GetVariableByName("Size", PulseInfo->pSize); S->GetVariableByName("Particle", PulseInfo->P); S->GetVariableByName("ParticleExplode", PulseInfo->pE); S->GetVariableByName("ParticlePolarity", PulseInfo->Polarity); S->End(); } else return false; if (S->GetBlockByName("Weapon_Stats")) { S->Begin(BlockVariable); S->GetVariableByName("Type", PulseInfo->Type); S->GetVariableByName("Damage", PulseInfo->Damage); S->GetVariableByName("EnergyCost", PulseInfo->EnergyCost); S->End(); } else return false; if (S->GetBlockByName("Weapon_Particle_Settings")) { S->Begin(BlockVariable); S->GetVariableByName("Circle", PulseInfo->Circle); S->GetVariableByName("InvCircle", PulseInfo->invCircle); S->GetVariableByName("Life", PulseInfo->Life); S->End(); } else return false; if (S->GetBlockByName("Weapon_Emitter")) { S->Begin(BlockVariable); S->GetVariableByName("Size", PulseInfo->pDim); S->GetVariableByName("Velocity", PulseInfo->Velocity); S->GetVariableByName("AngleRandLow", PulseInfo->angleRLow); S->GetVariableByName("AngleRandHigh", PulseInfo->angleRHigh); S->GetVariableByName("Direction", PulseInfo->Direction); S->GetVariableByName("PRandLow", PulseInfo->pRandLow); S->GetVariableByName("PRandHigh", PulseInfo->pRandHigh); S->GetVariableByName("PLife", PulseInfo->pLife); S->GetVariableByName("CRadius", PulseInfo->cRadius); S->GetVariableByName("RateOfFire", PulseInfo->rateOfFire); S->GetVariableByName("Distance", PulseInfo->Distance); S->GetVariableByName("NumFire", PulseInfo->NumFire); S->GetVariableByName("POnDeath", PulseInfo->pOnDeath); S->End(); } else return false; if (S->GetBlockByName("Weapon_Sound")) { std::string s[4]; S->Begin(BlockVariable); S->GetVariableByName("SoundFire", s[0]); S->GetVariableByName("VolumeFire", s[1]); S->GetVariableByName("SoundHit", s[2]); S->GetVariableByName("VolumeHit", s[3]); S->GetVariableByName("SoundType", PulseInfo->SoundType); S->End(); #pragma omp critical Ghost->Sound->LoadSound(s[0], atof(s[1].c_str()), PulseInfo->SoundType, FMOD_DEFAULT | FMOD_3D, PulseInfo->SoundFire); #pragma omp critical Ghost->Sound->LoadSound(s[2], atof(s[3].c_str()), PulseInfo->SoundType, FMOD_DEFAULT | FMOD_3D, PulseInfo->SoundHit); } else return false; }S->End(); } If you're interested send me a PM. jake
  8. jake_Ghost

    recommend some books

    Quote:Original post by rushikesh3030 Isnt it that site rapidshare also offers the free download for that book? Yes but that's illegal.
  9. jake_Ghost

    IDirect3DDevice9::Clear() failed

    Do you call BeginScene() and EndScene() at any point?
  10. jake_Ghost

    recommend some books

    http://www.jbpub.com/Catalog/9781556220784/student/ I found the book very helpful and you can download source code right from that site for free. But the book itself is 50 dollars. Jake
  11. It depends on how big your program is. If you're making something simple then I don't think there's anything wrong with the way you're doing it. But if you're going to be making something more complex there are different methods. Personally, I do something like this. UpdateMovements(); UpdateCollisions(); CheckCollisions(); // this method calls each objects check collision function which determines what each object will do There are a few reasons doing it like this is beneficial, of course this might not be the *most* efficient way to do it but it is good enough. I divide the area into grids and sort the objects amoungst them. This way each object isn't testing collisions with every other object. Also when doing it like this, I can take advantage of some multithreading without making it too difficult to manage. Hope this helps, Jake
  12. jake_Ghost

    Help with script

    No problem. Good programming. Jake
  13. jake_Ghost

    Help with script

    The problem is with int intlinearsearch (int*,int,int); // it should be int intLinearSearch(int p_stuNum[], int p_max, int p_searchArg); i = intlinearsearch(stuNum,max,searchArg); // this should then be i = intLinearSearch(stuNum,max,searchArg); #include <iostream> #include <string> #include <cstdlib> #include <iomanip> #include <cstdio> using namespace std; int intLinearSearch(int p_stuNum[], int p_max, int p_searchArg); int intLinearSearch(int p_stuNum[], int p_max, int p_searchArg) { int i; int hitLoc; bool found; found = false; hitLoc = -1; i = 0; while (i < p_max && !found) { if (p_stuNum == p_searchArg) { found = true; hitLoc = i; } i = i + 1; } return(hitLoc); } int stuNum[] = {201,202,203,204}; struct testData { int t1; int t2; int t3; }; int main (void) { testData testRcd[4]; int stuID; int sumscores; double meanAvg; int i = 0; int max = 4; int searchArg; testRcd[0].t1 = 16; testRcd[0].t2 = 20; testRcd[0].t3 = 18; testRcd[1].t1 = 17; testRcd[1].t2 = 19; testRcd[1].t3 = 17; testRcd[2].t1 = 18; testRcd[2].t2 = 18; testRcd[2].t3 = 19; testRcd[3].t1 = 17; testRcd[3].t2 = 18; testRcd[3].t3 = 19; cout << "Enter number range (201-204): "; cin >> stuID; while(stuID < 201 || stuID > 204) { cout << "A Valid entry between (201-204): "; cin >> stuID; } searchArg = stuID; i = intLinearSearch(stuNum,max,searchArg); sumscores = testRcd.t1 + testRcd.t2 + testRcd.t3; meanAvg = (double)sumscores/3; cout << "Score of Student Number " << stuID << "is: " << meanAvg << endl; } C++ is case sensitive. Also, you can put your code in source blocks by using ["source"] ... code ... ["/source"] Just take out the "" Jake
  14. jake_Ghost

    Help With Code::Blocks Compiler!

    You're talking about the console screen? I don't think you can make those go full screen. Just create a win32 window.
  15. jake_Ghost

    Strange persistent prompt in VS2008

    Backup the file in question. Go to your project and press delete on it and delete the file, don't just remove it. Then add it again and see if that helps. Jake
  16. jake_Ghost

    Actions Of A Game Engine?

    Well I've sent you my files. Have fun! Also, I've deleted as much as I can so it's mostly just the code now but it's still 15mb compressed. So it's taking a while to send. Jake
  17. jake_Ghost

    Actions Of A Game Engine?

    You put years of work into one post :D. First off, what kind of experience do you have programming? If you are new, I'd suggest starting with visual basic. It is, in my opinion, the easiest language to start off with. The first game I made was asteroids but most people suggest tetris. As for your interpretation of how a game engine works you are sorta right but are missing the point of a DLL. All a dll really is, is a bunch of functions that the main program will execute. For example, lets say my game supports dx9/dx10. Now the DLL(s) would have functions needed for both dx9 and dx10. In your main exe you would just load the appropriate DLL and go from there. But using a DLL isn't really important when you are starting. It is mostly used for easing patching, amoungst other things. It would be helpful to say what languages you know or are learning. But if you are just starting, the first thing you need to do is go to chapters or something and get a good book. The first book I read on how to program was c++ is 21 days. But that was after 4 years of highschool programming courses. All I can suggest is start very small and set small goals. I came to realize very fast that if you think youd need to put in a week of work, in actuality, it'd turn into a month. The game/engine im currently working on now i thought would maybe take a year. its just a 2d side scrolling space shooter/rpg. It has been about 2 years now (of course i dont work on it every day, maybe 3 times a week) and im still veryyy far from completion. I have re-arranged my program 4 times, revamped my interface and window code at least twice and have switched from opengl to dx9/dx10. Things just seem to spring up on you :D! If you want, I could give you the code to my engine. It is still far from done but it would give you an idea of basically how you can write a game. If you're interested just send me a PM. Jake [Edited by - jake_Ghost on December 7, 2009 9:13:22 PM]
  18. jake_Ghost

    Bug In My Code? Help M Out

    So the problem was with this line cin>>hold; When you get enter a character other than a number it will return -somebignumber; So by replacing that line with this char GET; cin>>GET;//get user input hold = atoi(&GET); hold--;//take off 1 to account for arrays starting at 0 not 1 That'll fix the problem Jake
  19. jake_Ghost

    Unknown variable type problems

    All works well :D. Now to actually get some scripts running! Thanks again, Jake
  20. [Background info] C++ Visual studio 2008 SP1 I'm having a little problem figuring out how to program my scripting engine. I have most of it planned out but the one thing that I just can't figure out is how to program scripted variables. Currently I am using boost::variant and a class to handle the loading and allocating but that leaves me with the problem of an unknown variable type at runtime. The boost::get function requires me to either know the variable type or go through some kind of switch statement. Boost visitors don't help much either since I don't know the type at compile time. It'd be nice to have the VB's variant type in c++, wouldn't it? Any help would be great Thanks, Jake
  21. jake_Ghost

    Unknown variable type problems

    So it seems after I woke up I wasn't completely retarded. Fixed the error. template<class T, class U> Variant add(const T& t, const U& u, typename disable_if<is_addable<T,U> >::type* dummy=0) const { throw std::exception("Types cannot be added"); } It seems the compiler was assuming exception was part of boost instead of std so it was trying to initiate an abstract. Adding std:: fixed it :D. Everything works now :D Thanks again. Jake
  22. jake_Ghost

    Unknown variable type problems

    Now I am getting a whole new host of errors. 1>------ Build started: Project: Quantum Divergence, Configuration: Debug Win32 ------ 1>Compiling... 1>MainLoop.cpp 1>using native typeof 1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/apply_visitor_binary.hpp(103) : warning C4512: 'boost::detail::variant::apply_visitor_binary_unwrap<Visitor,Visitable2>' : assignment operator could not be generated 1> with 1> [ 1> Visitor=const add_values, 1> Visitable2=Variant 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/apply_visitor_binary.hpp(163) : see reference to class template instantiation 'boost::detail::variant::apply_visitor_binary_unwrap<Visitor,Visitable2>' being compiled 1> with 1> [ 1> Visitor=const add_values, 1> Visitable2=Variant 1> ] 1> .\Main\MainLoop.cpp(123) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::apply_visitor<add_values,Variant,Variant>(const Visitor &,Visitable1 &,Visitable2 &)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=add_values, 1> Visitable1=Variant, 1> Visitable2=Variant 1> ] 1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/apply_visitor_binary.hpp(66) : warning C4512: 'boost::detail::variant::apply_visitor_binary_invoke<Visitor,Value1>' : assignment operator could not be generated 1> with 1> [ 1> Visitor=const add_values, 1> Value1=T0 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/apply_visitor_binary.hpp(98) : see reference to class template instantiation 'boost::detail::variant::apply_visitor_binary_invoke<Visitor,Value1>' being compiled 1> with 1> [ 1> Visitor=const add_values, 1> Value1=T0 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/variant.hpp(825) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::apply_visitor_binary_unwrap<Visitor,Visitable2>::operator ()<T>(Value1 &)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=const add_values, 1> Visitable2=Variant, 1> T=T0, 1> Value1=T0 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/visitation_impl.hpp(126) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::invoke_visitor<Visitor>::internal_visit<T>(T &,int)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::apply_visitor_binary_unwrap<const add_values,Variant>, 1> T=T0 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/visitation_impl.hpp(169) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::visitation_impl_invoke_impl<Visitor,VoidPtrCV,T>(int,Visitor &,VoidPtrCV,T *,boost::mpl::true_)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::invoke_visitor<boost::detail::variant::apply_visitor_binary_unwrap<const add_values,Variant>>, 1> VoidPtrCV=void *, 1> T=T0 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/visitation_impl.hpp(252) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::visitation_impl_invoke<Visitor,VoidPtrCV,T0,NoBackupFlag>(int,Visitor &,VoidPtrCV,T *,NoBackupFlag,int)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::invoke_visitor<boost::detail::variant::apply_visitor_binary_unwrap<const add_values,Variant>>, 1> VoidPtrCV=void *, 1> NoBackupFlag=boost::variant<int,float,bool,std::string>::has_fallback_type_, 1> T=T0 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/variant.hpp(1769) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::visitation_impl<first_which,first_step,Visitor,VoidPtrCV,boost::variant<T0_,T1,T2,T3>::has_fallback_type_>(const int,const int,Visitor &,VoidPtrCV,boost::mpl::false_,NoBackupFlag,Which *,step0 *)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::invoke_visitor<boost::detail::variant::apply_visitor_binary_unwrap<const add_values,Variant>>, 1> VoidPtrCV=void *, 1> NoBackupFlag=boost::variant<int,float,bool,std::string>::has_fallback_type_, 1> Which=first_which, 1> step0=first_step 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/variant.hpp(1780) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::variant<T0_,T1,T2,T3>::internal_apply_visitor_impl<Visitor,void*>(int,int,Visitor &,VoidPtrCV)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::invoke_visitor<boost::detail::variant::apply_visitor_binary_unwrap<const add_values,Variant>>, 1> VoidPtrCV=void * 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/variant.hpp(1803) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::variant<T0_,T1,T2,T3>::internal_apply_visitor<boost::detail::variant::invoke_visitor<Visitor>>(boost::detail::variant::invoke_visitor<Visitor> &)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::apply_visitor_binary_unwrap<const add_values,Variant> 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/apply_visitor_unary.hpp(56) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::variant<T0_,T1,T2,T3>::apply_visitor<Visitor>(Visitor &)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::apply_visitor_binary_unwrap<const add_values,Variant> 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/apply_visitor_binary.hpp(165) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::apply_visitor<boost::detail::variant::apply_visitor_binary_unwrap<Visitor,Visitable2>,Visitable1>(boost::detail::variant::apply_visitor_binary_unwrap<Visitor,Visitable2> &,Visitable &)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=const add_values, 1> Visitable2=Variant, 1> Visitable1=Variant, 1> Visitable=Variant 1> ] 1> .\Main\MainLoop.cpp(123) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::apply_visitor<add_values,Variant,Variant>(const Visitor &,Visitable1 &,Visitable2 &)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=add_values, 1> Visitable1=Variant, 1> Visitable2=Variant 1> ] 1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/apply_visitor_binary.hpp(66) : warning C4512: 'boost::detail::variant::apply_visitor_binary_invoke<Visitor,Value1>' : assignment operator could not be generated 1> with 1> [ 1> Visitor=const add_values, 1> Value1=T1 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/apply_visitor_binary.hpp(98) : see reference to class template instantiation 'boost::detail::variant::apply_visitor_binary_invoke<Visitor,Value1>' being compiled 1> with 1> [ 1> Visitor=const add_values, 1> Value1=T1 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/variant.hpp(825) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::apply_visitor_binary_unwrap<Visitor,Visitable2>::operator ()<T>(Value1 &)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=const add_values, 1> Visitable2=Variant, 1> T=T1, 1> Value1=T1 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/visitation_impl.hpp(126) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::invoke_visitor<Visitor>::internal_visit<T>(T &,int)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::apply_visitor_binary_unwrap<const add_values,Variant>, 1> T=T1 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/visitation_impl.hpp(169) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::visitation_impl_invoke_impl<Visitor,VoidPtrCV,T>(int,Visitor &,VoidPtrCV,T *,boost::mpl::true_)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::invoke_visitor<boost::detail::variant::apply_visitor_binary_unwrap<const add_values,Variant>>, 1> VoidPtrCV=void *, 1> T=T1 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/visitation_impl.hpp(252) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::visitation_impl_invoke<Visitor,VoidPtrCV,T1,NoBackupFlag>(int,Visitor &,VoidPtrCV,T *,NoBackupFlag,int)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::invoke_visitor<boost::detail::variant::apply_visitor_binary_unwrap<const add_values,Variant>>, 1> VoidPtrCV=void *, 1> NoBackupFlag=boost::variant<int,float,bool,std::string>::has_fallback_type_, 1> T=T1 1> ] 1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/apply_visitor_binary.hpp(66) : warning C4512: 'boost::detail::variant::apply_visitor_binary_invoke<Visitor,Value1>' : assignment operator could not be generated 1> with 1> [ 1> Visitor=const add_values, 1> Value1=T2 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/apply_visitor_binary.hpp(98) : see reference to class template instantiation 'boost::detail::variant::apply_visitor_binary_invoke<Visitor,Value1>' being compiled 1> with 1> [ 1> Visitor=const add_values, 1> Value1=T2 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/variant.hpp(825) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::apply_visitor_binary_unwrap<Visitor,Visitable2>::operator ()<T>(Value1 &)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=const add_values, 1> Visitable2=Variant, 1> T=T2, 1> Value1=T2 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/visitation_impl.hpp(126) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::invoke_visitor<Visitor>::internal_visit<T>(T &,int)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::apply_visitor_binary_unwrap<const add_values,Variant>, 1> T=T2 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/visitation_impl.hpp(169) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::visitation_impl_invoke_impl<Visitor,VoidPtrCV,T>(int,Visitor &,VoidPtrCV,T *,boost::mpl::true_)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::invoke_visitor<boost::detail::variant::apply_visitor_binary_unwrap<const add_values,Variant>>, 1> VoidPtrCV=void *, 1> T=T2 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/visitation_impl.hpp(252) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::visitation_impl_invoke<Visitor,VoidPtrCV,T2,NoBackupFlag>(int,Visitor &,VoidPtrCV,T *,NoBackupFlag,int)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::invoke_visitor<boost::detail::variant::apply_visitor_binary_unwrap<const add_values,Variant>>, 1> VoidPtrCV=void *, 1> NoBackupFlag=boost::variant<int,float,bool,std::string>::has_fallback_type_, 1> T=T2 1> ] 1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/apply_visitor_binary.hpp(66) : warning C4512: 'boost::detail::variant::apply_visitor_binary_invoke<Visitor,Value1>' : assignment operator could not be generated 1> with 1> [ 1> Visitor=const add_values, 1> Value1=T3 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/apply_visitor_binary.hpp(98) : see reference to class template instantiation 'boost::detail::variant::apply_visitor_binary_invoke<Visitor,Value1>' being compiled 1> with 1> [ 1> Visitor=const add_values, 1> Value1=T3 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/variant.hpp(825) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::apply_visitor_binary_unwrap<Visitor,Visitable2>::operator ()<T>(Value1 &)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=const add_values, 1> Visitable2=Variant, 1> T=T3, 1> Value1=T3 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/visitation_impl.hpp(126) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::invoke_visitor<Visitor>::internal_visit<T>(T &,int)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::apply_visitor_binary_unwrap<const add_values,Variant>, 1> T=T3 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/visitation_impl.hpp(169) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::visitation_impl_invoke_impl<Visitor,VoidPtrCV,T>(int,Visitor &,VoidPtrCV,T *,boost::mpl::true_)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::invoke_visitor<boost::detail::variant::apply_visitor_binary_unwrap<const add_values,Variant>>, 1> VoidPtrCV=void *, 1> T=T3 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/visitation_impl.hpp(252) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::visitation_impl_invoke<Visitor,VoidPtrCV,T3,NoBackupFlag>(int,Visitor &,VoidPtrCV,T *,NoBackupFlag,int)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::invoke_visitor<boost::detail::variant::apply_visitor_binary_unwrap<const add_values,Variant>>, 1> VoidPtrCV=void *, 1> NoBackupFlag=boost::variant<int,float,bool,std::string>::has_fallback_type_, 1> T=T3 1> ] 1>d:\games\side space shooter - ghost engine - directx\engine\script\VariantVisitors.h(77) : error C2872: 'exception' : ambiguous symbol 1> could be 'C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/exception/exception.hpp(177) : boost::exception' 1> or 'C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\exception(95) : std::exception' 1> d:\games\side space shooter - ghost engine - directx\engine\script\VariantVisitors.h(84) : see reference to function template instantiation 'Variant add_values::add<First,Second>(const T &,const U &,void *) const' being compiled 1> with 1> [ 1> First=T0, 1> Second=T3, 1> T=T0, 1> U=T3 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/apply_visitor_binary.hpp(63) : see reference to function template instantiation 'Variant add_values::operator ()<Value1,Value2>(const First &,const Second &) const' being compiled 1> with 1> [ 1> Value1=T0, 1> Value2=T3, 1> First=T0, 1> Second=T3 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/variant.hpp(825) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::apply_visitor_binary_invoke<Visitor,Value1>::operator ()<T>(Value2 &)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=const add_values, 1> Value1=T0, 1> T=T3, 1> Value2=T3 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/visitation_impl.hpp(126) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::invoke_visitor<Visitor>::internal_visit<T>(T &,int)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::apply_visitor_binary_invoke<const add_values,T0>, 1> T=T3 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/visitation_impl.hpp(169) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::visitation_impl_invoke_impl<Visitor,VoidPtrCV,T>(int,Visitor &,VoidPtrCV,T *,boost::mpl::true_)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::invoke_visitor<boost::detail::variant::apply_visitor_binary_invoke<const add_values,T0>>, 1> VoidPtrCV=void *, 1> T=T3 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/visitation_impl.hpp(252) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::visitation_impl_invoke<Visitor,VoidPtrCV,T3,NoBackupFlag>(int,Visitor &,VoidPtrCV,T *,NoBackupFlag,int)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::invoke_visitor<boost::detail::variant::apply_visitor_binary_invoke<const add_values,T0>>, 1> VoidPtrCV=void *, 1> NoBackupFlag=boost::variant<int,float,bool,std::string>::has_fallback_type_, 1> T=T3 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/variant.hpp(1769) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::visitation_impl<first_which,first_step,Visitor,VoidPtrCV,boost::variant<T0_,T1,T2,T3>::has_fallback_type_>(const int,const int,Visitor &,VoidPtrCV,boost::mpl::false_,NoBackupFlag,Which *,step0 *)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::invoke_visitor<boost::detail::variant::apply_visitor_binary_invoke<const add_values,T0>>, 1> VoidPtrCV=void *, 1> NoBackupFlag=boost::variant<int,float,bool,std::string>::has_fallback_type_, 1> Which=first_which, 1> step0=first_step 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/variant.hpp(1780) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::variant<T0_,T1,T2,T3>::internal_apply_visitor_impl<Visitor,void*>(int,int,Visitor &,VoidPtrCV)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::invoke_visitor<boost::detail::variant::apply_visitor_binary_invoke<const add_values,T0>>, 1> VoidPtrCV=void * 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/variant.hpp(1803) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::variant<T0_,T1,T2,T3>::internal_apply_visitor<boost::detail::variant::invoke_visitor<Visitor>>(boost::detail::variant::invoke_visitor<Visitor> &)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::apply_visitor_binary_invoke<const add_values,T0> 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/apply_visitor_unary.hpp(56) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::variant<T0_,T1,T2,T3>::apply_visitor<Visitor>(Visitor &)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::apply_visitor_binary_invoke<const add_values,T0> 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/apply_visitor_binary.hpp(100) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::apply_visitor<boost::detail::variant::apply_visitor_binary_invoke<Visitor,Value1>,Visitable2>(boost::detail::variant::apply_visitor_binary_invoke<Visitor,Value1> &,Visitable &)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=const add_values, 1> Value1=T0, 1> Visitable2=Variant, 1> Visitable=Variant 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/variant.hpp(825) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::apply_visitor_binary_unwrap<Visitor,Visitable2>::operator ()<T>(Value1 &)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=const add_values, 1> Visitable2=Variant, 1> T=T0, 1> Value1=T0 1> ] 1>d:\games\side space shooter - ghost engine - directx\engine\script\VariantVisitors.h(77) : error C2259: 'boost::exception' : cannot instantiate abstract class 1> due to following members: 1> 'boost::exception::~exception(void) throw()' : is abstract 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/exception/exception.hpp(199) : see declaration of 'boost::exception::~exception' 1>d:\games\side space shooter - ghost engine - directx\engine\script\VariantVisitors.h(77) : error C2872: 'exception' : ambiguous symbol 1> could be 'C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/exception/exception.hpp(177) : boost::exception' 1> or 'C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\exception(95) : std::exception' 1> d:\games\side space shooter - ghost engine - directx\engine\script\VariantVisitors.h(84) : see reference to function template instantiation 'Variant add_values::add<First,Second>(const T &,const U &,void *) const' being compiled 1> with 1> [ 1> First=T1, 1> Second=T3, 1> T=T1, 1> U=T3 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/apply_visitor_binary.hpp(63) : see reference to function template instantiation 'Variant add_values::operator ()<Value1,Value2>(const First &,const Second &) const' being compiled 1> with 1> [ 1> Value1=T1, 1> Value2=T3, 1> First=T1, 1> Second=T3 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/variant.hpp(825) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::apply_visitor_binary_invoke<Visitor,Value1>::operator ()<T>(Value2 &)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=const add_values, 1> Value1=T1, 1> T=T3, 1> Value2=T3 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/visitation_impl.hpp(126) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::invoke_visitor<Visitor>::internal_visit<T>(T &,int)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::apply_visitor_binary_invoke<const add_values,T1>, 1> T=T3 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/visitation_impl.hpp(169) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::visitation_impl_invoke_impl<Visitor,VoidPtrCV,T>(int,Visitor &,VoidPtrCV,T *,boost::mpl::true_)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::invoke_visitor<boost::detail::variant::apply_visitor_binary_invoke<const add_values,T1>>, 1> VoidPtrCV=void *, 1> T=T3 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/visitation_impl.hpp(252) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::visitation_impl_invoke<Visitor,VoidPtrCV,T3,NoBackupFlag>(int,Visitor &,VoidPtrCV,T *,NoBackupFlag,int)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::invoke_visitor<boost::detail::variant::apply_visitor_binary_invoke<const add_values,T1>>, 1> VoidPtrCV=void *, 1> NoBackupFlag=boost::variant<int,float,bool,std::string>::has_fallback_type_, 1> T=T3 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/variant.hpp(1769) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::visitation_impl<first_which,first_step,Visitor,VoidPtrCV,boost::variant<T0_,T1,T2,T3>::has_fallback_type_>(const int,const int,Visitor &,VoidPtrCV,boost::mpl::false_,NoBackupFlag,Which *,step0 *)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::invoke_visitor<boost::detail::variant::apply_visitor_binary_invoke<const add_values,T1>>, 1> VoidPtrCV=void *, 1> NoBackupFlag=boost::variant<int,float,bool,std::string>::has_fallback_type_, 1> Which=first_which, 1> step0=first_step 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/variant.hpp(1780) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::variant<T0_,T1,T2,T3>::internal_apply_visitor_impl<Visitor,void*>(int,int,Visitor &,VoidPtrCV)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::invoke_visitor<boost::detail::variant::apply_visitor_binary_invoke<const add_values,T1>>, 1> VoidPtrCV=void * 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/variant.hpp(1803) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::variant<T0_,T1,T2,T3>::internal_apply_visitor<boost::detail::variant::invoke_visitor<Visitor>>(boost::detail::variant::invoke_visitor<Visitor> &)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::apply_visitor_binary_invoke<const add_values,T1> 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/apply_visitor_unary.hpp(56) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::variant<T0_,T1,T2,T3>::apply_visitor<Visitor>(Visitor &)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::apply_visitor_binary_invoke<const add_values,T1> 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/apply_visitor_binary.hpp(100) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::apply_visitor<boost::detail::variant::apply_visitor_binary_invoke<Visitor,Value1>,Visitable2>(boost::detail::variant::apply_visitor_binary_invoke<Visitor,Value1> &,Visitable &)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=const add_values, 1> Value1=T1, 1> Visitable2=Variant, 1> Visitable=Variant 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/variant.hpp(825) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::apply_visitor_binary_unwrap<Visitor,Visitable2>::operator ()<T>(Value1 &)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=const add_values, 1> Visitable2=Variant, 1> T=T1, 1> Value1=T1 1> ] 1>d:\games\side space shooter - ghost engine - directx\engine\script\VariantVisitors.h(77) : error C2259: 'boost::exception' : cannot instantiate abstract class 1> due to following members: 1> 'boost::exception::~exception(void) throw()' : is abstract 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/exception/exception.hpp(199) : see declaration of 'boost::exception::~exception' 1>d:\games\side space shooter - ghost engine - directx\engine\script\VariantVisitors.h(77) : error C2872: 'exception' : ambiguous symbol 1> could be 'C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/exception/exception.hpp(177) : boost::exception' 1> or 'C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\exception(95) : std::exception' 1> d:\games\side space shooter - ghost engine - directx\engine\script\VariantVisitors.h(84) : see reference to function template instantiation 'Variant add_values::add<First,Second>(const T &,const U &,void *) const' being compiled 1> with 1> [ 1> First=T2, 1> Second=T3, 1> T=T2, 1> U=T3 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/apply_visitor_binary.hpp(63) : see reference to function template instantiation 'Variant add_values::operator ()<Value1,Value2>(const First &,const Second &) const' being compiled 1> with 1> [ 1> Value1=T2, 1> Value2=T3, 1> First=T2, 1> Second=T3 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/variant.hpp(825) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::apply_visitor_binary_invoke<Visitor,Value1>::operator ()<T>(Value2 &)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=const add_values, 1> Value1=T2, 1> T=T3, 1> Value2=T3 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/visitation_impl.hpp(126) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::invoke_visitor<Visitor>::internal_visit<T>(T &,int)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::apply_visitor_binary_invoke<const add_values,T2>, 1> T=T3 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/visitation_impl.hpp(169) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::visitation_impl_invoke_impl<Visitor,VoidPtrCV,T>(int,Visitor &,VoidPtrCV,T *,boost::mpl::true_)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::invoke_visitor<boost::detail::variant::apply_visitor_binary_invoke<const add_values,T2>>, 1> VoidPtrCV=void *, 1> T=T3 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/visitation_impl.hpp(252) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::visitation_impl_invoke<Visitor,VoidPtrCV,T3,NoBackupFlag>(int,Visitor &,VoidPtrCV,T *,NoBackupFlag,int)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::invoke_visitor<boost::detail::variant::apply_visitor_binary_invoke<const add_values,T2>>, 1> VoidPtrCV=void *, 1> NoBackupFlag=boost::variant<int,float,bool,std::string>::has_fallback_type_, 1> T=T3 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/variant.hpp(1769) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::visitation_impl<first_which,first_step,Visitor,VoidPtrCV,boost::variant<T0_,T1,T2,T3>::has_fallback_type_>(const int,const int,Visitor &,VoidPtrCV,boost::mpl::false_,NoBackupFlag,Which *,step0 *)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::invoke_visitor<boost::detail::variant::apply_visitor_binary_invoke<const add_values,T2>>, 1> VoidPtrCV=void *, 1> NoBackupFlag=boost::variant<int,float,bool,std::string>::has_fallback_type_, 1> Which=first_which, 1> step0=first_step 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/variant.hpp(1780) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::variant<T0_,T1,T2,T3>::internal_apply_visitor_impl<Visitor,void*>(int,int,Visitor &,VoidPtrCV)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::invoke_visitor<boost::detail::variant::apply_visitor_binary_invoke<const add_values,T2>>, 1> VoidPtrCV=void * 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/variant.hpp(1803) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::variant<T0_,T1,T2,T3>::internal_apply_visitor<boost::detail::variant::invoke_visitor<Visitor>>(boost::detail::variant::invoke_visitor<Visitor> &)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::apply_visitor_binary_invoke<const add_values,T2> 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/apply_visitor_unary.hpp(56) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::variant<T0_,T1,T2,T3>::apply_visitor<Visitor>(Visitor &)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::apply_visitor_binary_invoke<const add_values,T2> 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/apply_visitor_binary.hpp(100) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::apply_visitor<boost::detail::variant::apply_visitor_binary_invoke<Visitor,Value1>,Visitable2>(boost::detail::variant::apply_visitor_binary_invoke<Visitor,Value1> &,Visitable &)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=const add_values, 1> Value1=T2, 1> Visitable2=Variant, 1> Visitable=Variant 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/variant.hpp(825) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::apply_visitor_binary_unwrap<Visitor,Visitable2>::operator ()<T>(Value1 &)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=const add_values, 1> Visitable2=Variant, 1> T=T2, 1> Value1=T2 1> ] 1>d:\games\side space shooter - ghost engine - directx\engine\script\VariantVisitors.h(77) : error C2259: 'boost::exception' : cannot instantiate abstract class 1> due to following members: 1> 'boost::exception::~exception(void) throw()' : is abstract 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/exception/exception.hpp(199) : see declaration of 'boost::exception::~exception' 1>d:\games\side space shooter - ghost engine - directx\engine\script\VariantVisitors.h(77) : error C2872: 'exception' : ambiguous symbol 1> could be 'C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/exception/exception.hpp(177) : boost::exception' 1> or 'C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\exception(95) : std::exception' 1> d:\games\side space shooter - ghost engine - directx\engine\script\VariantVisitors.h(84) : see reference to function template instantiation 'Variant add_values::add<First,Second>(const T &,const U &,void *) const' being compiled 1> with 1> [ 1> First=T3, 1> Second=T0, 1> T=T3, 1> U=T0 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/apply_visitor_binary.hpp(63) : see reference to function template instantiation 'Variant add_values::operator ()<Value1,Value2>(const First &,const Second &) const' being compiled 1> with 1> [ 1> Value1=T3, 1> Value2=T0, 1> First=T3, 1> Second=T0 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/variant.hpp(825) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::apply_visitor_binary_invoke<Visitor,Value1>::operator ()<T>(Value2 &)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=const add_values, 1> Value1=T3, 1> T=T0, 1> Value2=T0 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/visitation_impl.hpp(126) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::invoke_visitor<Visitor>::internal_visit<T>(T &,int)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::apply_visitor_binary_invoke<const add_values,T3>, 1> T=T0 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/visitation_impl.hpp(169) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::visitation_impl_invoke_impl<Visitor,VoidPtrCV,T>(int,Visitor &,VoidPtrCV,T *,boost::mpl::true_)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::invoke_visitor<boost::detail::variant::apply_visitor_binary_invoke<const add_values,T3>>, 1> VoidPtrCV=void *, 1> T=T0 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/visitation_impl.hpp(252) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::visitation_impl_invoke<Visitor,VoidPtrCV,T0,NoBackupFlag>(int,Visitor &,VoidPtrCV,T *,NoBackupFlag,int)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::invoke_visitor<boost::detail::variant::apply_visitor_binary_invoke<const add_values,T3>>, 1> VoidPtrCV=void *, 1> NoBackupFlag=boost::variant<int,float,bool,std::string>::has_fallback_type_, 1> T=T0 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/variant.hpp(1769) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::visitation_impl<first_which,first_step,Visitor,VoidPtrCV,boost::variant<T0_,T1,T2,T3>::has_fallback_type_>(const int,const int,Visitor &,VoidPtrCV,boost::mpl::false_,NoBackupFlag,Which *,step0 *)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::invoke_visitor<boost::detail::variant::apply_visitor_binary_invoke<const add_values,T3>>, 1> VoidPtrCV=void *, 1> NoBackupFlag=boost::variant<int,float,bool,std::string>::has_fallback_type_, 1> Which=first_which, 1> step0=first_step 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/variant.hpp(1780) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::variant<T0_,T1,T2,T3>::internal_apply_visitor_impl<Visitor,void*>(int,int,Visitor &,VoidPtrCV)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::invoke_visitor<boost::detail::variant::apply_visitor_binary_invoke<const add_values,T3>>, 1> VoidPtrCV=void * 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/variant.hpp(1803) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::variant<T0_,T1,T2,T3>::internal_apply_visitor<boost::detail::variant::invoke_visitor<Visitor>>(boost::detail::variant::invoke_visitor<Visitor> &)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::apply_visitor_binary_invoke<const add_values,T3> 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/apply_visitor_unary.hpp(56) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::variant<T0_,T1,T2,T3>::apply_visitor<Visitor>(Visitor &)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::apply_visitor_binary_invoke<const add_values,T3> 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/apply_visitor_binary.hpp(100) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::apply_visitor<boost::detail::variant::apply_visitor_binary_invoke<Visitor,Value1>,Visitable2>(boost::detail::variant::apply_visitor_binary_invoke<Visitor,Value1> &,Visitable &)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=const add_values, 1> Value1=T3, 1> Visitable2=Variant, 1> Visitable=Variant 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/variant.hpp(825) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::apply_visitor_binary_unwrap<Visitor,Visitable2>::operator ()<T>(Value1 &)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=const add_values, 1> Visitable2=Variant, 1> T=T3, 1> Value1=T3 1> ] 1>d:\games\side space shooter - ghost engine - directx\engine\script\VariantVisitors.h(77) : error C2259: 'boost::exception' : cannot instantiate abstract class 1> due to following members: 1> 'boost::exception::~exception(void) throw()' : is abstract 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/exception/exception.hpp(199) : see declaration of 'boost::exception::~exception' 1>d:\games\side space shooter - ghost engine - directx\engine\script\VariantVisitors.h(77) : error C2872: 'exception' : ambiguous symbol 1> could be 'C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/exception/exception.hpp(177) : boost::exception' 1> or 'C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\exception(95) : std::exception' 1> d:\games\side space shooter - ghost engine - directx\engine\script\VariantVisitors.h(84) : see reference to function template instantiation 'Variant add_values::add<First,Second>(const T &,const U &,void *) const' being compiled 1> with 1> [ 1> First=T3, 1> Second=T1, 1> T=T3, 1> U=T1 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/apply_visitor_binary.hpp(63) : see reference to function template instantiation 'Variant add_values::operator ()<Value1,Value2>(const First &,const Second &) const' being compiled 1> with 1> [ 1> Value1=T3, 1> Value2=T1, 1> First=T3, 1> Second=T1 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/variant.hpp(825) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::apply_visitor_binary_invoke<Visitor,Value1>::operator ()<T>(Value2 &)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=const add_values, 1> Value1=T3, 1> T=T1, 1> Value2=T1 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/visitation_impl.hpp(126) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::invoke_visitor<Visitor>::internal_visit<T>(T &,int)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::apply_visitor_binary_invoke<const add_values,T3>, 1> T=T1 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/visitation_impl.hpp(169) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::visitation_impl_invoke_impl<Visitor,VoidPtrCV,T>(int,Visitor &,VoidPtrCV,T *,boost::mpl::true_)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::invoke_visitor<boost::detail::variant::apply_visitor_binary_invoke<const add_values,T3>>, 1> VoidPtrCV=void *, 1> T=T1 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/visitation_impl.hpp(252) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::visitation_impl_invoke<Visitor,VoidPtrCV,T1,NoBackupFlag>(int,Visitor &,VoidPtrCV,T *,NoBackupFlag,int)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::invoke_visitor<boost::detail::variant::apply_visitor_binary_invoke<const add_values,T3>>, 1> VoidPtrCV=void *, 1> NoBackupFlag=boost::variant<int,float,bool,std::string>::has_fallback_type_, 1> T=T1 1> ] 1>d:\games\side space shooter - ghost engine - directx\engine\script\VariantVisitors.h(77) : error C2259: 'boost::exception' : cannot instantiate abstract class 1> due to following members: 1> 'boost::exception::~exception(void) throw()' : is abstract 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/exception/exception.hpp(199) : see declaration of 'boost::exception::~exception' 1>d:\games\side space shooter - ghost engine - directx\engine\script\VariantVisitors.h(77) : error C2872: 'exception' : ambiguous symbol 1> could be 'C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/exception/exception.hpp(177) : boost::exception' 1> or 'C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\exception(95) : std::exception' 1> d:\games\side space shooter - ghost engine - directx\engine\script\VariantVisitors.h(84) : see reference to function template instantiation 'Variant add_values::add<First,Second>(const T &,const U &,void *) const' being compiled 1> with 1> [ 1> First=T3, 1> Second=T2, 1> T=T3, 1> U=T2 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/apply_visitor_binary.hpp(63) : see reference to function template instantiation 'Variant add_values::operator ()<Value1,Value2>(const First &,const Second &) const' being compiled 1> with 1> [ 1> Value1=T3, 1> Value2=T2, 1> First=T3, 1> Second=T2 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/variant.hpp(825) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::apply_visitor_binary_invoke<Visitor,Value1>::operator ()<T>(Value2 &)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=const add_values, 1> Value1=T3, 1> T=T2, 1> Value2=T2 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/visitation_impl.hpp(126) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::invoke_visitor<Visitor>::internal_visit<T>(T &,int)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::apply_visitor_binary_invoke<const add_values,T3>, 1> T=T2 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/visitation_impl.hpp(169) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::visitation_impl_invoke_impl<Visitor,VoidPtrCV,T>(int,Visitor &,VoidPtrCV,T *,boost::mpl::true_)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::invoke_visitor<boost::detail::variant::apply_visitor_binary_invoke<const add_values,T3>>, 1> VoidPtrCV=void *, 1> T=T2 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/variant/detail/visitation_impl.hpp(252) : see reference to function template instantiation 'boost::variant<T0_,T1,T2,T3> boost::detail::variant::visitation_impl_invoke<Visitor,VoidPtrCV,T2,NoBackupFlag>(int,Visitor &,VoidPtrCV,T *,NoBackupFlag,int)' being compiled 1> with 1> [ 1> T0_=int, 1> T1=float, 1> T2=bool, 1> T3=std::string, 1> Visitor=boost::detail::variant::invoke_visitor<boost::detail::variant::apply_visitor_binary_invoke<const add_values,T3>>, 1> VoidPtrCV=void *, 1> NoBackupFlag=boost::variant<int,float,bool,std::string>::has_fallback_type_, 1> T=T2 1> ] 1>d:\games\side space shooter - ghost engine - directx\engine\script\VariantVisitors.h(77) : error C2259: 'boost::exception' : cannot instantiate abstract class 1> due to following members: 1> 'boost::exception::~exception(void) throw()' : is abstract 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\boost/exception/exception.hpp(199) : see declaration of 'boost::exception::~exception' 1>Generating Code... 1>Compiling... 1>cVariable.cpp 1>using native typeof 1>Generating Code... 1>Skipping... (no relevant changes detected) 1>cOperator.cpp 1>cScript.cpp 1>Build log was saved at "file://d:\Games\Side Space shooter - Ghost Engine - DirectX\BUILD\Debug\BuildLog.htm" 1>Quantum Divergence - 12 error(s), 5 warning(s) ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== I have to go to bed though, I'm about to pass out. Thanks for the help man, I really appriciate it! I'll be back tomorrow incase you still feel like helping me out. Jake
  23. jake_Ghost

    Unknown variable type problems

    Do I still use boost::apply_visitor?
  24. jake_Ghost

    Unknown variable type problems

    Amazing... Makes my method look like a 5th grader wrote it :P. Thank you very much for the help #pragma once #include <windows.h> // Header File For Windows #include <math.h> // Math Library Header File #include <stdio.h> // Header File For Standard Input/Output #include <mmsystem.h> #include <fstream> #include <sstream> #include <cctype> #include <iomanip> #include <cmath> #include <iostream> #include <string> #include <vector> #include <boost/variant.hpp> #include "GhostVars.h" #define MAX_OPERATOR_SIZE 10 using namespace std; class cVariable; typedef boost::variant<int, float, bool, std::string> Variant; enum OperatorType { PLUS = 0, MINUS, MULTIPLY, DIVIDE }; class cOperator { public: cOperator(void); ~cOperator(void); bool New(std::string &ID, std::string &Text, cVariable *GlobalVar = NULL, int gSize = 0, cVariable *BlockVar = NULL, int bSize = 0, cVariable *StatementVar = NULL, int sSize = 0); void Execute(); private: cVariable * Search(const string &ID, cVariable *V, int Size); // Math template<typename T0, typename T1, typename T2> void Plus(Variant &Dest, Variant &A, Variant &B); template<typename T0, typename T1, typename T2> void Minus(Variant &Dest, Variant &A, Variant &B); template<typename T0, typename T1, typename T2> void Multiply(Variant &Dest, Variant &A, Variant &B); template<typename T0, typename T1, typename T2> void Divide(Variant &Dest, Variant &A, Variant &B); // Operator function pointers typedef void (cOperator::*tOperator)(Variant &, Variant &, Variant &); tOperator *Operator; // Operator variables cVariable *Dest; cVariable *Var[MAX_OPERATOR_SIZE]; int VarSize; int *OperatorType; int OSize; }; template<typename T0, typename T1, typename T2> void cOperator :: Plus(Variant &Dest, Variant &A, Variant &B) { Dest = (T0)boost::get<T1>(A) + (T0)boost::get<T2>(B); } template<typename T0, typename T1, typename T2> void cOperator :: Minus(Variant &Dest, Variant &A, Variant &B) { Dest = (T0)boost::get<T1>(A) - (T0)boost::get<T2>(B); } template<typename T0, typename T1, typename T2> void cOperator :: Multiply(Variant &Dest, Variant &A, Variant &B) { Dest = (T0)boost::get<T1>(A) * (T0)boost::get<T2>(B); } template<typename T0, typename T1, typename T2> void cOperator :: Divide(Variant &Dest, Variant &A, Variant &B) { Dest = (T0)boost::get<T1>(A) / (T0)boost::get<T2>(B); } That's what I had :P. And I had to go through a bunch of ifs to set the function pointer(s) for every combination! Jake *EDIT* So upon compiling im getting some vector errors 1>------ Build started: Project: Quantum Divergence, Configuration: Debug Win32 ------ 1>Compiling... 1>cOperator.cpp 1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\vector(878) : error C2664: 'std::_Vector_iterator<_Ty,_Alloc>::_Vector_iterator(const std::_Vector_iterator<_Ty,_Alloc> &)' : cannot convert parameter 1 from 'no_type' to 'const std::_Vector_iterator<_Ty,_Alloc> &' 1> with 1> [ 1> _Ty=IInt, 1> _Alloc=std::allocator<IInt> 1> ] 1> Reason: cannot convert from 'no_type' to 'const std::_Vector_iterator<_Ty,_Alloc>' 1> with 1> [ 1> _Ty=IInt, 1> _Alloc=std::allocator<IInt> 1> ] 1> No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\vector(875) : while compiling class template member function 'std::_Vector_iterator<_Ty,_Alloc> std::vector<_Ty>::insert(std::_Vector_const_iterator<_Ty,_Alloc>,const _Ty &)' 1> with 1> [ 1> _Ty=IInt, 1> _Alloc=std::allocator<IInt> 1> ] 1> .\Engine\Script\cOperator.cpp(58) : see reference to class template instantiation 'std::vector<_Ty>' being compiled 1> with 1> [ 1> _Ty=IInt 1> ] 1>MainLoop.cpp 1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\vector(721) : error C2664: 'std::_Vector_iterator<_Ty,_Alloc> std::vector<_Ty>::erase(std::_Vector_const_iterator<_Ty,_Alloc>,std::_Vector_const_iterator<_Ty,_Alloc>)' : cannot convert parameter 1 from 'no_type' to 'std::_Vector_const_iterator<_Ty,_Alloc>' 1> with 1> [ 1> _Ty=cParticle, 1> _Alloc=std::allocator<cParticle> 1> ] 1> No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called 1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\vector(717) : while compiling class template member function 'void std::vector<_Ty>::resize(unsigned int,_Ty)' 1> with 1> [ 1> _Ty=cParticle 1> ] 1> .\Main\MainLoop.cpp(26) : see reference to class template instantiation 'std::vector<_Ty>' being compiled 1> with 1> [ 1> _Ty=cParticle 1> ] 1>Generating Code... 1>Build log was saved at "file://d:\Games\Side Space shooter - Ghost Engine - DirectX\BUILD\Debug\BuildLog.htm" 1>Quantum Divergence - 2 error(s), 0 warning(s) ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
  25. jake_Ghost

    Unknown variable type problems

    It seems that maybe I solved my own problem, I know, amazing lol. class Test { public: Test() { a = 0.0f; b = 1.5f; c = 1; // <float, float, int> would change to the appropriate types Operator = &Test::Plus<float, float, int>; } Variant a, b, c; void (Test::*Operator)(Variant &, Variant &, Variant &); template<typename T0, typename T1, typename T2> void Plus(Variant &Dest, Variant &A, Variant &B) { Dest = (T0)boost::get<T1>(A) + (T0)boost::get<T2>(B); } void Execute() { (*this.*Operator)(a, b, c); } }; By adding the member function pointer it seems I have found a way to make my life maybe a bit easier. Of course this is a simple example but by changing that one function pointer to an array I can have all the pointers set up and I only need to go through the array and call them all, i think. What do you think? Jake
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!