Hi,
I tried "Stack<char> test" and used test.push_back() method instead
of test.push() which is what standard STL stack provides I guess and
it seems to work. Alex, may be I should have said "When I try to
declare a stack of type char/int/string" .
Also can I get any help regarding development of ESI in squid ?
Thanks Amos,Alex.
-Paras
On Wed, Apr 16, 2008 at 9:08 PM, Alex Rousskov
<rousskov@measurement-factory.com> wrote:
>
> On Wed, 2008-04-16 at 13:37 +1200, Amos Jeffries wrote:
> > >
> > > Thanks for the reply. The header file that I want to include is
> > > "stack" which is already available in C++ just like "iostream" . When
> > > I include it in a squid source file and try to create a stack
> > > datatype, it gives an error saying "error: `stack' undeclared (first
> > > use this function) " .
> >
> > Ah. That is an entirely different issue to what you described in your
> > first mail. There are now a couple of issues here to consider.
> >
> > 1) why you are needing to add it to squid.
> > 2) why you are trying to re-invent a type that is already well-known and
> > available for use in probably all OS.
> > 3) how to protect your new code against other types.
> >
> > A good think about 1 and 2 usually comes up with its not worth the work,
> > just use the STL version provided.
>
> I believe Paras is trying to use the existing STL stack type even though
> he is saying that he is trying to "create a stack datatype" :-).
>
> Cheers,
>
> Alex.
>
>
>
> > I'm not familiar with the specific guidelines in squid-2 (they are in the
> > wiki somewhere IIRC). But for squid-3 when we need to add a standard type
> > like this locally we name it like 'SquidStack' and the files the same.
> > That way there is no clash to worry about.
> >
> > Also there is basic code-wrapping. Any new experimental code needs to have
> > a configure option to enable it, with a matching macro USE_... which is
> > used to protect normal builds against the new code.
> >
> > If you are going to insist on using a clashing type, you will force
> > yourself to go through the OS provided <stack> and dependencies and
> > un-define all the symbols that might cause problems. Its a big problem,
> > and _really_ not worth it.
> >
> > >
> > >
> > > Example:
> > >
> > > #include <stack>
> >
> > <> in C/C++ means the compiler is specifically asked to find an OS
> > provided file before testing the local ones. Not your new one.
> > You MUST have double-quotes (") for local files. And preferably a unique
> > localised name as I mention above.
> >
> > >
> > > stack<char> test; - -> gives error.
> > >
> > > Thank you.
> > >
> > > -Plf
> > >
> > > On 4/15/08, Amos Jeffries <squid3@treenet.co.nz> wrote:
> > >> Paras Fadte wrote:
> > >>
> > >> > Hi,
> > >> >
> > >> > I was trying to add header file "stack.h" in one of the squids source
> > >> > code file so that I could define stack data types. But it doesn't
> > >> > seem to work . Can anybody help me out with this please?
> > >> >
> > >> >
> > >>
> > >> Code discussions in squid-dev please.
> > >>
> > >> You need to:
> > >> - add the files to the right sub-directory in the source,
> > >> - add to teh matching Makefile.am in all the right places,
> > >> - run bootstrap.sh,
> > >> - run configure,
> > >> - run make check,
> > >> - ... and fix any of the errors that come up about your files.
> > >> - test it works, and then submit a patch and request to have it used.
> > >>
> > >> NP: other errors in existing code. If any occur, please mention to
> > >> squid-dev so we can check and fix.
> > >>
> > >> Amos
> > >> --
> > >> Please use Squid 2.6.STABLE19 or 3.0.STABLE4
> > >>
> > >
> >
>
>
Received on Tue Apr 22 2008 - 12:37:05 MDT
This archive was generated by hypermail 2.2.0 : Wed Apr 30 2008 - 12:00:07 MDT