http://groups.google.com/group/comp.lang.c++?hl=en
comp.lang.c++@googlegroups.com
Today's topics:
* The best way to retrieve a returned value... by const reference? - 4
messages, 4 authors
http://groups.google.com/group/comp.lang.c++/t/0f3ad790abe791fc?hl=en
* Template And Arrays - 1 messages, 1 author
http://groups.google.com/group/comp.lang.c++/t/d7e4b230152d58ac?hl=en
* Program to open a file in binary, skip X bytes and write the rest of the
file to a new file - 1 messages, 1 author
http://groups.google.com/group/comp.lang.c++/t/83b963f4f840d2f8?hl=en
* binary file parsing - 1 messages, 1 author
http://groups.google.com/group/comp.lang.c++/t/b5af50a57144d87d?hl=en
* How to pass function pointer by reference? - 3 messages, 2 authors
http://groups.google.com/group/comp.lang.c++/t/6157b773e2ba75b0?hl=en
* C++ way to convert ASCII digits to Integer? - 2 messages, 2 authors
http://groups.google.com/group/comp.lang.c++/t/c6620161a9dfea0b?hl=en
* Definition on .cpp or .h ? - 2 messages, 2 authors
http://groups.google.com/group/comp.lang.c++/t/ad345b5900073acd?hl=en
* how to recognize whether code is C or C++? - 3 messages, 1 author
http://groups.google.com/group/comp.lang.c++/t/8ef69ade6ab46b45?hl=en
* www.shoesspring.com) paypal payment Sneaker Wholesale ,g-star jeans, lrg
jeans,shirt,polo t-shirt, hoody,coat,ED hardy - 2 messages, 2 authors
http://groups.google.com/group/comp.lang.c++/t/7dd84be2fc1edda0?hl=en
==============================================================================
TOPIC: The best way to retrieve a returned value... by const reference?
http://groups.google.com/group/comp.lang.c++/t/0f3ad790abe791fc?hl=en
==============================================================================
== 1 of 4 ==
Date: Wed, May 27 2009 2:01 pm
From: "Balog Pal"
"blargg" <blargg.ei3@gishpuppy.com>
> Balog Pal wrote:
>> Note that the preferred form for that is not copy-init, but direct-init!
>>
>> const Foo constValue(GetFoo());
>>
>> Many optimizers can create identical code for all the three forms --
>> completely removing copies.
>
> C++03 section 8.5 paragraph 14 seems to state that in this case, direct
> initialization MUST be used, rather than it being an optional
> optimization. That is,
>
> Foo foo = GetFoo();
>
> should be treated exactly the same as
>
> Foo foo( GetFoo() );
Rrright, this is a special case when the source type is similar to the
destination type -- the preference to use direct-init in general is for
uniformity, there is no need to make the separation, let alone make code
dependant on that...
== 2 of 4 ==
Date: Wed, May 27 2009 2:03 pm
From: Stuart Golodetz
Balog Pal wrote:
> "Stuart Golodetz" <sgolodetz@NdOiSaPlA.pMiPpLeExA.ScEom>
>
>>> class Foo { /* ... */ };
>>> Foo GetFoo(void);
>>>
>>> const Foo& constReference = GetFoo(); // Choice #1
>>> const Foo constValue = GetFoo(); // Choice #2
>> It may or may not be more efficient to return const &.
>
> You didn't pay attention. The function returns Foo, not Foo& in any case,
> the difference is only how the returned object is handled.
Oops, my bad, sorry - I read what I wanted to read for some reason
rather than what was there. Ignore what I said :)
== 3 of 4 ==
Date: Wed, May 27 2009 2:57 pm
From: "Niels Dekker - no return address"
Thanks to all of you for your replies so far!
>> Foo GetFoo(void);
>>
>> const Foo& constReference = GetFoo(); // Choice #1
>> const Foo constValue = GetFoo(); // Choice #2
>> Personally, I have the habbit to bind such an object to a
>> const-reference (choice #1). Thereby I hope to avoid an expensive
>> copy-construction, which /might/ take place when you use
>> copy-initialization (choice #2).
Pete Becker wrote:
> I don't think that this avoids the copy. The returned value has to
> live somewhere in the current stack frame, so it has to be copied
> into a temporary object, where "copied" means the same things as in
> #2.
When I use the option "-fno-elide-constructors" on GCC 4.3.2, choice #1
/does/ avoid a copy. The following example gets me two copy-constructor
calls for the initialization of constValue, and just one for constReference:
//////////////////////////////////////////////////
class Foo
{
public:
unsigned copyCount;
Foo(void)
:
copyCount(0)
{
}
Foo(const Foo& arg)
:
copyCount(arg.copyCount + 1)
{
}
Foo& operator=(const Foo& arg)
{
copyCount = arg.copyCount + 1;
return *this;
}
};
Foo GetFoo(void)
{
return Foo();
}
int main(void)
{
const Foo& constReference = GetFoo();
const Foo constValue = GetFoo();
// Returns 9 when doing "gcc-4 -fno-elide-constructors"
return constReference.copyCount +
(constValue.copyCount << 2);
}
/////////////////////////////////////////////////
So when using "-fno-elide-constructors", binding to const-reference appears
superior. But honestly, I don't think I would ever switch on this option
for production code... So I'm still hoping to find a more realistic
scenario in which binding to const-reference would outperform
copy-initialization. Otherwise maybe I should change my habit!
Kind regards, Niels
== 4 of 4 ==
Date: Wed, May 27 2009 3:21 pm
From: Pete Becker
Niels Dekker - no return address wrote:
> Thanks to all of you for your replies so far!
>
>>> Foo GetFoo(void);
>>>
>>> const Foo& constReference = GetFoo(); // Choice #1
>>> const Foo constValue = GetFoo(); // Choice #2
>
>>> Personally, I have the habbit to bind such an object to a
>>> const-reference (choice #1). Thereby I hope to avoid an expensive
>>> copy-construction, which /might/ take place when you use
>>> copy-initialization (choice #2).
>
>
> Pete Becker wrote:
>> I don't think that this avoids the copy. The returned value has to
>> live somewhere in the current stack frame, so it has to be copied
>> into a temporary object, where "copied" means the same things as in
>> #2.
>
> When I use the option "-fno-elide-constructors" on GCC 4.3.2, choice #1
> /does/ avoid a copy.
Okay, when you tell the compiler not to take advantage of legal
optimizations, it doesn't do them. <g> I'd rather spend my time writing
code than figuring out how to work around suboptimal compiler option
settings.
--
Pete
Roundhouse Consulting, Ltd. (www.versatilecoding.com) Author of
"The Standard C++ Library Extensions: a Tutorial and Reference"
(www.petebecker.com/tr1book)
==============================================================================
TOPIC: Template And Arrays
http://groups.google.com/group/comp.lang.c++/t/d7e4b230152d58ac?hl=en
==============================================================================
== 1 of 1 ==
Date: Wed, May 27 2009 2:45 pm
From: Marcelo De Brito
Hi, James!
>Why the new? (For that matter, why does push take a pointer?)
It was just some implementation details for the code work a little
more without needing to debug it. It is just a code test and not the
final product. :)
Without the "(new B)" the code didn't compile.
By the way, thank you very much for your explanations! :)
Thank You!
Marcelo
==============================================================================
TOPIC: Program to open a file in binary, skip X bytes and write the rest of
the file to a new file
http://groups.google.com/group/comp.lang.c++/t/83b963f4f840d2f8?hl=en
==============================================================================
== 1 of 1 ==
Date: Wed, May 27 2009 2:52 pm
From: Victor Bazarov
mzdude wrote:
> On May 27, 2:03 pm, Victor Bazarov <v.Abaza...@comAcast.net> wrote:
>> scad wrote:
>>> How would I approach this? I cannot store the entire file in memory
>>> (they are 30GB+) but I need to skip the first 292 bytes and write the
>>> rest to a new file.
>> 1. Open the file to read (file_1)
>> 1.a If file_1 in bad state, report and exit.
>>
>> 2. Counter = number of bytes to skip
>> 3. While counter > 0 and not the end of file_1
>> read file_1
> optional step
> 2. Look up the function seek()
>> 3.a. If file_1 in bad state, report and exit.
>>
>> 4. Open the file to write (file_2)
>> 4.a If file_2 in bad state, report and exit.
>>
>> 5. While not the end of file_1
>> read file_1 into 'buffer'
>> if successful, write 'buffer' to file_2
>> if file_2 in bad state, report and exit.
>
> If I know I'm dealing with large files, I might even check available
> disk space before starting the copy. Hate to get 29G into the copy
> and fail due to lack of disk space.
I don't think C++ has the means to do that.
V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask
==============================================================================
TOPIC: binary file parsing
http://groups.google.com/group/comp.lang.c++/t/b5af50a57144d87d?hl=en
==============================================================================
== 1 of 1 ==
Date: Wed, May 27 2009 3:17 pm
From: Mateusz Loskot
James Kanze wrote:
> On May 26, 10:03 pm, Mateusz Loskot <see...@signature.net> wrote:
>> The term "perfectly" sounded strange to me too, though I was
>> trying to figure out if I understand it well or not, so I
>> pulled out my voice.
>>
>> Perhaps, James considers legality of this code as follows:
>>
>> "However, it is an extremely common idiom and is well-supported
>> by all major compilers"
>
> No. The reason I raised this is because the above example does
> NOT work with g++ (at least in some versions, with some
> optimization options).
>
> There are practical reasons why it doesn't work, and the authors
> of the standard may not have meant that it should work, but as
> currently worded, the standard guarantees that it does work (but
> most compilers don't).
James,
I understand.
Thank you for patiently explaining this issue.
Best regards,
--
Mateusz Loskot, http://mateusz.loskot.net
Charter Member of OSGeo, http://osgeo.org
==============================================================================
TOPIC: How to pass function pointer by reference?
http://groups.google.com/group/comp.lang.c++/t/6157b773e2ba75b0?hl=en
==============================================================================
== 1 of 3 ==
Date: Wed, May 27 2009 3:32 pm
From: Immortal Nephi
I need to pass function pointer by reference because it invokes first
function and then invokes second function with the same parameter.
How can I fix it?
class A
{
public:
A() : m_a( 5 ) {}
~A() {}
void Run( void (&rF)( const A &ra ) )
{
printf("Run\n");
rF( *this ); // OK
Go1( rF( *this ) ); // Error
}
void Go1( void (&rF)( const A &ra ) )
{
printf("Go1\n");
Go2( ? ); // Fix
}
void Go2( void (&rF)( const A &ra ) )
{
printf("Go2\n");
rF( *this ); // OK
}
};
void F1( const A &ra )
{
printf("Test: %d\n", ra.m_a );
}
int main()
{
A a;
a.Run( F1 );
return 0;
}
== 2 of 3 ==
Date: Wed, May 27 2009 4:25 pm
From: Stuart Golodetz
Immortal Nephi wrote:
> I need to pass function pointer by reference because it invokes first
> function and then invokes second function with the same parameter.
> How can I fix it?
>
> class A
> {
> public:
> A() : m_a( 5 ) {}
> ~A() {}
>
> void Run( void (&rF)( const A &ra ) )
> {
> printf("Run\n");
> rF( *this ); // OK
> Go1( rF( *this ) ); // Error
> }
The expression rF(*this) has type void: you're trying to pass the
non-existent result of a function with void return type to a function
which takes a void (&)(const A&). Replace rF(*this) with rF and it works
fine:
#include <cstdio>
class A
{
public:
int m_a;
A() : m_a( 5 ) {}
void Run( void (&rF)( const A &ra ) )
{
printf("Run\n");
rF( *this ); // OK
Go1( rF);
}
void Go1( void (&rF)( const A &ra ) )
{
printf("Go1\n");
Go2( rF );
}
void Go2( void (&rF)( const A &ra ) )
{
printf("Go2\n");
rF( *this ); // OK
}
};
void F1( const A &ra )
{
printf("Test: %d\n", ra.m_a );
}
int main()
{
A a;
a.Run( F1 );
return 0;
}
Note that you also needed to add a member variable m_a.
Regards,
Stu
>
> void Go1( void (&rF)( const A &ra ) )
> {
> printf("Go1\n");
> Go2( ? ); // Fix
> }
>
> void Go2( void (&rF)( const A &ra ) )
> {
> printf("Go2\n");
> rF( *this ); // OK
> }
> };
>
> void F1( const A &ra )
> {
> printf("Test: %d\n", ra.m_a );
> }
>
> int main()
> {
> A a;
> a.Run( F1 );
>
> return 0;
> }
== 3 of 3 ==
Date: Wed, May 27 2009 7:09 pm
From: Immortal Nephi
On May 27, 6:25 pm, Stuart Golodetz
<sgolod...@NdOiSaPlA.pMiPpLeExA.ScEom> wrote:
> Immortal Nephi wrote:
> > I need to pass function pointer by reference because it invokes first
> > function and then invokes second function with the same parameter.
> > How can I fix it?
>
> > class A
> > {
> > public:
> > A() : m_a( 5 ) {}
> > ~A() {}
>
> > void Run( void (&rF)( const A &ra ) )
> > {
> > printf("Run\n");
> > rF( *this ); // OK
> > Go1( rF( *this ) ); // Error
> > }
>
> The expression rF(*this) has type void: you're trying to pass the
> non-existent result of a function with void return type to a function
> which takes a void (&)(const A&). Replace rF(*this) with rF and it works
> fine:
>
> #include <cstdio>
>
> class A
> {
> public:
> int m_a;
>
> A() : m_a( 5 ) {}
>
> void Run( void (&rF)( const A &ra ) )
> {
> printf("Run\n");
> rF( *this ); // OK
> Go1( rF);
> }
>
> void Go1( void (&rF)( const A &ra ) )
> {
> printf("Go1\n");
> Go2( rF );
> }
>
> void Go2( void (&rF)( const A &ra ) )
> {
> printf("Go2\n");
> rF( *this ); // OK
> }
>
> };
Thank you for the reply. It does work because F!() is global
function. What if you want to invoke member function like this below.
void B::F1( const A &ra )
void C::F1( const A &ra )
Pass Member Function by Reference will only work one object if
you use B object or C object.
> void Run( void (&rF)( const A &ra ) )
I am not sure how you can do this Run() function above. I
need to put B::F1 or C::F1 in a.Run( ?? ). C++ Compiler should
compile successfully if only one object is used however template
function is the answer to accept either B object or C object. I am
concerned. After you create static library or DLL library, C++
Compiler will fail to compile because it does not know which type in
template function.
Nephi
>
> void F1( const A &ra )
> {
> printf("Test: %d\n", ra.m_a );
>
> }
>
> int main()
> {
> A a;
> a.Run( F1 );
>
> return 0;
>
> }
>
> Note that you also needed to add a member variable m_a.
>
> Regards,
> Stu
>
>
>
>
>
> > void Go1( void (&rF)( const A &ra ) )
> > {
> > printf("Go1\n");
> > Go2( ? ); // Fix
> > }
>
> > void Go2( void (&rF)( const A &ra ) )
> > {
> > printf("Go2\n");
> > rF( *this ); // OK
> > }
> > };
>
> > void F1( const A &ra )
> > {
> > printf("Test: %d\n", ra.m_a );
> > }
>
> > int main()
> > {
> > A a;
> > a.Run( F1 );
>
> > return 0;
> > }- Hide quoted text -
>
> - Show quoted text -- Hide quoted text -
>
> - Show quoted text -
==============================================================================
TOPIC: C++ way to convert ASCII digits to Integer?
http://groups.google.com/group/comp.lang.c++/t/c6620161a9dfea0b?hl=en
==============================================================================
== 1 of 2 ==
Date: Wed, May 27 2009 3:42 pm
From: "Default User"
blargg wrote:
> blargg wrote:
> > andreas.koestler wrote:
> > > On May 27, 9:18 am, "Peter Olcott" <NoS...@SeeScreen.com> wrote:
> > > > I remember that there is a clean C++ way to do this [convert
> > > > ASCII digits to Integer], but, I forgot what it was.
> > >
> > > I don't know what you mean by 'clean C++ way' but one way to do
> > > it is:
> > >
> > > int ascii_digit_to_int ( const char asciidigit ) {
> > > if ( asciidigit < '0' ||
> > > asciidigit > '9' ) {
> > > throw NotADigitException();
> > > }
> > > return (int) asciidigit - 48; // 48 => '0'
> > > }
> [...]
> > Not if the machine doesn't use ASCII; only a function like yours
> > above is fully portable.
>
> Whoops, that's wrong too, as the above function uses '0' and '9',
> which won't be ASCII on a non-ASCII machine. So the above should
> really use 48 and 57 in place of those character constants, to live
> up to its name. Otherwise, on a machine using ASCII, it'll work, but
> on another, it'll be broken and neither convert from ASCII nor the
> machine's native character set!
The requirements for numerals in the character set specify that the
values be consecutive and in increasing value.
So digit - '0' will always give you the numeric value of the numeral
the character represents, regardless of whether it is ASCII or not. The
same is not true for digit - 48.
The original problem specified conversion from ASCII, but that's not
likely what the OP really wanted. If so, then a preliminary step to
convert to ASCII could be performed, but that's probably not what was
really desired.
Brian
== 2 of 2 ==
Date: Wed, May 27 2009 10:27 pm
From: blargg
Default User wrote:
> blargg wrote:
> > blargg wrote:
> > > andreas.koestler wrote:
> > > > On May 27, 9:18 am, "Peter Olcott" <NoS...@SeeScreen.com> wrote:
> > > > > I remember that there is a clean C++ way to do this [convert
> > > > > ASCII digits to Integer], but, I forgot what it was.
> > > >
> > > > I don't know what you mean by 'clean C++ way' but one way to do
> > > > it is:
> > > >
> > > > int ascii_digit_to_int ( const char asciidigit ) {
> > > > if ( asciidigit < '0' ||
> > > > asciidigit > '9' ) {
> > > > throw NotADigitException();
> > > > }
> > > > return (int) asciidigit - 48; // 48 => '0'
> > > > }
> > [...]
> > > Not if the machine doesn't use ASCII; only a function like yours
> > > above is fully portable.
> >
> > Whoops, that's wrong too, as the above function uses '0' and '9',
> > which won't be ASCII on a non-ASCII machine. So the above should
> > really use 48 and 57 in place of those character constants, to live
> > up to its name. Otherwise, on a machine using ASCII, it'll work, but
> > on another, it'll be broken and neither convert from ASCII nor the
> > machine's native character set!
>
> The requirements for numerals in the character set specify that the
> values be consecutive and in increasing value.
And for ASCII the numerals are fixed at 48 through 57, also consecutive
and increasing.
> So digit - '0' will always give you the numeric value of the numeral
> the character represents, regardless of whether it is ASCII or not. The
> same is not true for digit - 48.
But the function is to convert from ASCII to an integer. The input WILL
always be ASCII (or else the caller has violated the contract). It
should not subtract '0', as that would break the function on a non-ASCII
machine.
> The original problem specified conversion from ASCII, but that's not
> likely what the OP really wanted.
But that's what ascii_digit_to_int should implement, or else at the very
least it's named wrong.
> If so, then a preliminary step to convert to ASCII could be performed,
[...]
Or maybe the input data are known to always be ASCII. This is very
common when parsing binary file formats which embed text data.
==============================================================================
TOPIC: Definition on .cpp or .h ?
http://groups.google.com/group/comp.lang.c++/t/ad345b5900073acd?hl=en
==============================================================================
== 1 of 2 ==
Date: Wed, May 27 2009 3:26 pm
From: CPP beginner
Is it better to put definition on headers or on cpp ?
Why ?
Does it increase size of object ?
Template class definitions must always be on .h ?
What does it cost ?
Thank you
== 2 of 2 ==
Date: Wed, May 27 2009 4:47 pm
From: Mateusz Loskot
CPP beginner wrote:
> Is it better to put definition on headers or on cpp ?
> Why ?
Have you tried to find answer in the archives first?
http://groups.google.com/group/comp.lang.c++/browse_thread/thread/1a4b427d09b3eb77/
> Does it increase size of object ?
It may increase size.
> Template class definitions must always be on .h ?
It does not, but it's very/most common approach.
http://www.parashift.com/c++-faq-lite/templates.html#faq-35.14
> What does it cost ?
http://www.parashift.com/c++-faq-lite/inline-functions.html
http://www.parashift.com/c++-faq-lite/templates.html#faq-35.10
Best regards,
--
Mateusz Loskot, http://mateusz.loskot.net
Charter Member of OSGeo, http://osgeo.org
==============================================================================
TOPIC: how to recognize whether code is C or C++?
http://groups.google.com/group/comp.lang.c++/t/8ef69ade6ab46b45?hl=en
==============================================================================
== 1 of 3 ==
Date: Wed, May 27 2009 8:24 pm
From: Keith Thompson
"Alf P. Steinbach" <alfps@start.no> writes:
> * Jeff Schwab:
>> Christopher Dearlove wrote:
>>> "Vladimir Jovic" <vladaspams@gmail.com> wrote in message
>>> news:gv3etg$lit$1@news01.versatel.de...
>>>> Few weeks ago, I tried to include a C header to a C++ program, but
>>>> couldn't because it had a variable named "class" in one of defined
>>>> structures.
>>>
>>> Anyone who wrote any such code in the last 20 years should have
>>> known better.
>>
>> Better than what? Writing perfectly valid C code?
>
> It's unnecessary to make the header code incompatible with C++ on such
> a obvious issue.
Maybe. Or maybe there was a legitimate reason. Perhaps the code was
subtly incompatible with C++ in some way, and using "class" as an
identifier prevents someone from accidentally using it from C++.
(I'm not saying it's likely, but it's conceivable.)
> It's like when designing a door to your house: even if you and your
> wife are both short people (short people, short people! :-)[1]) you
> design that door so that other people can just walk in without risking
> banging their head.
>
> Or, I would, if I were that short and were designing a door.
Ah, but if you don't like tall people ...
--
Keith Thompson (The_Other_Keith) kst-u@mib.org <http://www.ghoti.net/~kst>
Nokia
"We must do something. This is something. Therefore, we must do this."
-- Antony Jay and Jonathan Lynn, "Yes Minister"
== 2 of 3 ==
Date: Wed, May 27 2009 8:27 pm
From: Keith Thompson
Sherm Pendley <spamtrap@dot-app.org> writes:
> S Claus <santa@temporaryinbox.com> writes:
>> If you are given a bunch of .c files, is there a way to recognize (by
>> just looking at them) whether the code in them is written in C or in C+
>> +?
>>
>> What would you look for?
>
> The file name. Why would a C++ file have a .c extension to begin with?
Some C++ files have a ".C" extension, and some operating systems /
file systems doesn't distinguish between upper and lower case. And
using ".h" for C++ headers is more common than using ".c" for C++
source files.
--
Keith Thompson (The_Other_Keith) kst-u@mib.org <http://www.ghoti.net/~kst>
Nokia
"We must do something. This is something. Therefore, we must do this."
-- Antony Jay and Jonathan Lynn, "Yes Minister"
== 3 of 3 ==
Date: Wed, May 27 2009 8:35 pm
From: Keith Thompson
S Claus <santa@temporaryinbox.com> writes:
> here is a question, just out of curiousity:
>
> If you are given a bunch of .c files, is there a way to recognize (by
> just looking at them) whether the code in them is written in C or in C+
> +?
>
> What would you look for?
There is no reliable algorithm for doing this. For one thing, the
same source file might be valid both as C and as C++, either because
it doesn't happen to use any of the unique features of either language
or because it was deliberately designed to be compatible, perhaps by
using #ifdef __cplusplus". And a lot of C code is valid C++ anyway,
though probably not idiomatic C++.
And a sufficiently perverse programmer might write code that's
intended to look like one language when it's not:
cout << x << '\n';
looks like C++ until you realize that cout is declared as an unsigned
int. (Which is still valid C++.)
Note that // comments don't distinguish between C and C++; C99 allows
them, and many pre-C99 compilers support them as an extension.
Most of the things I'd look for have already been mentioned:
Standard header names
>> and << for I/O
::
new, delete
--
Keith Thompson (The_Other_Keith) kst-u@mib.org <http://www.ghoti.net/~kst>
Nokia
"We must do something. This is something. Therefore, we must do this."
-- Antony Jay and Jonathan Lynn, "Yes Minister"
==============================================================================
TOPIC: www.shoesspring.com) paypal payment Sneaker Wholesale ,g-star jeans,
lrg jeans,shirt,polo t-shirt, hoody,coat,ED hardy
http://groups.google.com/group/comp.lang.c++/t/7dd84be2fc1edda0?hl=en
==============================================================================
== 1 of 2 ==
Date: Wed, May 27 2009 11:23 pm
From: peter
Ed Hardy man jeans Evisu man jeans jeans cheap wholesaler (paypal
payment) (www.shoesspring.com)
G-Star man jeanscheap wholesaler (paypal payment)
(www.shoesspring.com)
Red Monkey man jeans ROCK man jeans cheap wholesaler (paypal
payment) (www.shoesspring.com)
ROCK women jeans True Religion man jeanscheap wholesaler (paypal
payment) (www.shoesspring.com)
True Religion women jeans Affliction man jeans
Black Label man jeanscheap wholesaler (paypal payment)
(www.shoesspring.com)
GUCCI man jeans cheap wholesaler (paypal payment)
(www.shoesspring.com)
Prada man jeans Versace man jeanscheap wholesaler (paypal payment)
Levis man jeans A&F man jeans cheap wholesaler (paypal payment)
Minimum order is one,factory price also! Paypal payment free
shipping
Get Nike Shoes at Super Cheap Prices
Discount Nike air jordans (www.shoesspring.com) Paypal Payment
Discount Nike Air Max 90 Sneakers (www.shoesspring.com)
Discount Nike Air Max 91 Supplier (www.shoesspring.com)
Discount Nike Air Max 95 Shoes Supplier (www.shoesspring.com)
Discount Nike Air Max 97 Trainers (www.shoesspring.com)
Discount Nike Air Max 2003 Wholesale (www.shoesspring.com)
Discount Nike Air Max 2004 Shoes Wholesale
(www.shoesspring.com) D&G shoes Dior shoes ED hardy shoes Evisu shoes
Fendi shoes (paypal
Discount Nike Air Max 2005 Shop (www.shoesspring.com) Paypal Payment
Discount Nike Air Max 2006 Shoes Shop (www.shoesspring.com)
== 2 of 2 ==
Date: Wed, May 27 2009 11:37 pm
From: "Gucci&louis vuitton serials supplier fee shipping"
Ed Hardy man jeans Evisu man jeans jeans cheap wholesaler (paypal
payment) (www.shoesspring.com)
G-Star man jeanscheap wholesaler (paypal payment)
(www.shoesspring.com)
Red Monkey man jeans ROCK man jeans cheap wholesaler (paypal
payment) (www.shoesspring.com)
ROCK women jeans True Religion man jeanscheap wholesaler (paypal
payment) (www.shoesspring.com)
True Religion women jeans Affliction man jeans
Black Label man jeanscheap wholesaler (paypal payment)
(www.shoesspring.com)
GUCCI man jeans cheap wholesaler (paypal payment)
(www.shoesspring.com)
Prada man jeans Versace man jeanscheap wholesaler (paypal payment)
Levis man jeans A&F man jeans cheap wholesaler (paypal payment)
Minimum order is one,factory price also! Paypal payment free
shipping
Get Nike Shoes at Super Cheap Prices
Discount Nike air jordans (www.shoesspring.com) Paypal Payment
Discount Nike Air Max 90 Sneakers (www.shoesspring.com)
Discount Nike Air Max 91 Supplier (www.shoesspring.com)
Discount Nike Air Max 95 Shoes Supplier (www.shoesspring.com)
Discount Nike Air Max 97 Trainers (www.shoesspring.com)
Discount Nike Air Max 2003 Wholesale (www.shoesspring.com)
Discount Nike Air Max 2004 Shoes Wholesale
(www.shoesspring.com) D&G shoes Dior shoes ED hardy shoes Evisu shoes
Fendi shoes (paypal
Discount Nike Air Max 2005 Shop (www.shoesspring.com) Paypal Payment
Discount Nike Air Max 2006 Shoes Shop (www.shoesspring.com)
==============================================================================
You received this message because you are subscribed to the Google Groups "comp.lang.c++"
group.
To post to this group, visit http://groups.google.com/group/comp.lang.c++?hl=en
To unsubscribe from this group, send email to comp.lang.c+++unsubscribe@googlegroups.com
To change the way you get mail from this group, visit:
http://groups.google.com/group/comp.lang.c++/subscribe?hl=en
To report abuse, send email explaining the problem to abuse@googlegroups.com
==============================================================================
Google Groups: http://groups.google.com/?hl=en
No comments:
Post a Comment