MapApi::Count()

Returns the number of entries currently in the mapping.

Virtual?

No

 

Class

MapApi

 

Arguments

None

 

Returns

int

The number of entries currently in the mapping

Notes

The number returned by Count() may be different from the number of times that Insert() has been called. This is because MapApi automatically disambiguates itself, adding new exclusions to eliminate ambiguity between partially overlapping entries and removing entries that are redundant.

Example

The following example demonstrates Count(), GetType(), GetLeft(), and GetRight() being used to iterate over a MapApi that contains four entries after two calls to Insert().

This code produces the following output:

//depot/... //client/...
-//depot/d2/... //client/d2/...
-//depot/d1/... //client/d1/...
//depot/d1/... //client/d2/...
MapApi clientmap;

clientmap.Insert( StrRef( "//depot/..." ), StrRef( "//client/..." ) );
clientmap.Insert( StrRef( "//depot/d1/..." ), StrRef( "//client/d2/..." ) );

char c = ' ';
for ( int i = 0; i < clientmap.Count(); i++ )
{
    switch( clientmap.GetType( i ) )
    {
        case MapInclude:
            c = ' '; break;
        case MapExclude:
            c = '-'; break;
        case MapOverlay:
            c = '+'; break;
    }

    printf( "%c%s %s\n", c,
            clientmap.GetLeft( i )->Text(),
            clientmap.GetRight( i )->Text() );
}