[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Mnemonic's violation of rules from Effective C++ and More Effective C++



	Hi, I used a tole called CodeWizard to generate this.  Note that
the stuff listed shouldn't cause a core directly, but either violates ANSI
C++ or is inefficent.  If we get mnemonic to the point where it can
actually be ran, I will also profile the program and look for ways to
speed it up.

Jim
[clientmanager/Client.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[clientmanager/ClientManager.h:14] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class ClientManager has no explicit destructor, and contains pointer members:
       list

[clientmanager/ClientManager.h:14] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[clientmanager/ClientManager.h:18] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[clientmanager/ClientManager.h:21] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[clientmanager/ClientManager.h:27] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[clientmanager/ClientManager.h:27] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[clientmanager/ClientManager.h:33] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[clientmanager/ClientManager.h:33] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[clientmanager/ClientManager.h:33] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[clientmanager/ClientManager.h:48] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[clientmanager/ClientManager.h:48] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[clientmanager/ClientManager.h:48] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[clientmanager/ClientManager.h:48] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[clientmanager/ClientManager.h:65] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[clientmanager/ClientManager.h:65] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[clientmanager/ClientManager.h:65] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[clientmanager/ClientManager.h:65] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[clientmanager/ClientManager.h:65] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[clientmanager/gtkClientManager.h:21] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class gtkClientManager has no explicit destructor, and contains pointer members:
       wMain
       tabbar

[utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[debuger.cc:24] Prefer C++-style casts
    Violation: More Effective C++ item 2

[debuger.cc:25] Prefer C++-style casts
    Violation: More Effective C++ item 2

[list.h:48] Call delete on pointer members in destructors
    Violation: Effective C++ item 6
    Class List contains pointer members not obviously deleted in destructor:
       listhook  ** allocated in constructor **

[list.h:48] Define a copy constructor and operator= for classes with dynamically allocated memory
    Severe violation: Effective C++ item 11
    Class List missing assignment operator and copy constructor.

[list.h:48] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class List:
       listhook

[list.cc:45] Prefer C++-style casts
    Violation: More Effective C++ item 2

[list.cc:46] Prefer C++-style casts
    Violation: More Effective C++ item 2

[list.cc:47] Prefer C++-style casts
    Violation: More Effective C++ item 2

[list.cc:53] Prefer C++-style casts
    Violation: More Effective C++ item 2

[list.cc:74] Prefer C++-style casts
    Violation: More Effective C++ item 2

[list.cc:81] Prefer C++-style casts
    Violation: More Effective C++ item 2

[list.cc:88] Prefer C++-style casts
    Violation: More Effective C++ item 2

[list.cc:95] Prefer C++-style casts
    Violation: More Effective C++ item 2

[list.cc:96] Prefer C++-style casts
    Violation: More Effective C++ item 2

[list.cc:98] Prefer C++-style casts
    Violation: More Effective C++ item 2

[list.cc:103] Prefer C++-style casts
    Violation: More Effective C++ item 2

[list.cc:105] Prefer C++-style casts
    Violation: More Effective C++ item 2

[list.cc:126] Prefer C++-style casts
    Violation: More Effective C++ item 2

[list.cc:152] Prefer C++-style casts
    Violation: More Effective C++ item 2

[thread.h:27] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    User-defined conversion should be made explicit

[thread.h:28] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    User-defined conversion should be made explicit

[thread.h:34] Prefer C++-style casts
    Violation: More Effective C++ item 2

[thread.h:38] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function lock returns object by value

[thread.h:38] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[thread.h:39] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function unlock returns object by value

[thread.h:39] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[thread.h:41] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function trylock returns object by value

[thread.h:41] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[thread.h:43] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~thread_mutex is both virtual and inline

[thread.h:55] Prefer C++-style casts
    Violation: More Effective C++ item 2

[thread.h:59] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function broadcast returns object by value

[thread.h:59] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[thread.h:60] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function signal returns object by value

[thread.h:60] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[thread.h:61] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function wait returns object by value

[thread.h:61] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[thread.h:63] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~thread_cond is both virtual and inline

[../../../src/messmanager/MessageStuff.h:5] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../src/messmanager/MessageStuff.h:19] Have operator= return a reference to *this
    Severe violation: Effective C++ item 15

[../../../src/messmanager/MessageStuff.h:19] Assign to all data members in operator=
    Possible severe violation: Effective C++ item 16
    Members not assigned:
       recipients

[../../../src/messmanager/MessageStuff.h:26] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class Interest has no explicit destructor, and contains pointer members:
       obj
       func
       sender_

[../../../src/messmanager/MessageStuff.h:43] Distinguish between prefix and postfix forms of increment and decrement
    Violation: More Effective C++ item 6
    Prefix form is recommended here

[../mMessage.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../mMessage.h:6] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class mMessage:
       theSender

[../mMessage.h:10] Prefer C++-style casts
    Violation: More Effective C++ item 2

[mFetchURL.h:3] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class mFetchURL:
       id
       url
       parent
       mgroup

[../../../src/messmanager/MessageStuff.h:5] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../src/messmanager/MessageStuff.h:19] Have operator= return a reference to *this
    Severe violation: Effective C++ item 15

[../../../src/messmanager/MessageStuff.h:19] Assign to all data members in operator=
    Possible severe violation: Effective C++ item 16
    Members not assigned:
       recipients

[../../../src/messmanager/MessageStuff.h:26] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class Interest has no explicit destructor, and contains pointer members:
       obj
       func
       sender_

[../../../src/messmanager/MessageStuff.h:43] Distinguish between prefix and postfix forms of increment and decrement
    Violation: More Effective C++ item 6
    Prefix form is recommended here

[../mMessage.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../mMessage.h:6] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class mMessage:
       theSender

[../mMessage.h:10] Prefer C++-style casts
    Violation: More Effective C++ item 2

[mNewID.h:4] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class mNewID:
       new_id

[Client.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:14] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class ClientManager has no explicit destructor, and contains pointer members:
       list

[ClientManager.h:14] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:18] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:21] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:27] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:27] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:33] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:33] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:33] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:48] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:48] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:48] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:48] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:65] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:65] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:65] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:65] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:65] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[gtkClientManager.h:21] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class gtkClientManager has no explicit destructor, and contains pointer members:
       wMain
       tabbar

[../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[../../src/netmanager/Stream.h:12] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/netmanager/Stream.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReadBlock is both virtual and inline

[../../src/utils/thread.h:27] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    User-defined conversion should be made explicit

[../../src/utils/thread.h:28] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    User-defined conversion should be made explicit

[../../src/utils/thread.h:34] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/utils/thread.h:38] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function lock returns object by value

[../../src/utils/thread.h:38] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:39] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function unlock returns object by value

[../../src/utils/thread.h:39] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:41] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function trylock returns object by value

[../../src/utils/thread.h:41] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:43] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~thread_mutex is both virtual and inline

[../../src/utils/thread.h:55] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/utils/thread.h:59] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function broadcast returns object by value

[../../src/utils/thread.h:59] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:60] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function signal returns object by value

[../../src/utils/thread.h:60] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:61] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function wait returns object by value

[../../src/utils/thread.h:61] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:63] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~thread_cond is both virtual and inline

[../../src/dispmanager/tools.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Point:
       dx
       dy

[../../src/dispmanager/tools.h:23] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Rect:
       x
       y
       w
       h

[../../src/dispmanager/tools.h:47] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function reunion returns object by value

[../../src/dispmanager/tools.h:55] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function getPosition returns object by value

[../../src/dispmanager/tools.h:56] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function getSize returns object by value

[../../src/dispmanager/Tag.h:31] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[../../src/dispmanager/Tag.h:32] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isReplaced is both virtual and inline

[../../src/dispmanager/Tag.h:34] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/dispmanager/Tag.h:61] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[../../src/dispmanager/Tag.h:75] Avoid returning "handles" to internal data from const member functions
    Severe violation: Effective C++ item 29

[../../src/dispmanager/Tag.h:79] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function SetAttributes is both virtual and inline

[../../src/dispmanager/Tag.h:80] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[../../src/dispmanager/DisplayManager.h:9] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/dispmanager/DisplayManager.h:22] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class DisplayManager has no explicit destructor, and contains pointer members:
       list

[../../src/messmanager/MessageStuff.h:5] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/messmanager/MessageStuff.h:19] Have operator= return a reference to *this
    Severe violation: Effective C++ item 15

[../../src/messmanager/MessageStuff.h:19] Assign to all data members in operator=
    Possible severe violation: Effective C++ item 16
    Members not assigned:
       recipients

[../../src/messmanager/MessageStuff.h:26] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class Interest has no explicit destructor, and contains pointer members:
       obj
       func
       sender_

[../../src/messmanager/MessageStuff.h:43] Distinguish between prefix and postfix forms of increment and decrement
    Violation: More Effective C++ item 6
    Prefix form is recommended here

[../../src/messages/network/../mMessage.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/messages/network/../mMessage.h:6] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class mMessage:
       theSender

[../../src/messages/network/../mMessage.h:10] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/messages/network/mFetchURL.h:3] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class mFetchURL has no explicit destructor, and contains pointer members:
       url
       parent

[../../src/messages/network/mFetchURL.h:3] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class mFetchURL:
       id
       url
       parent
       mgroup

[../../src/messages/network/mNewID.h:4] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class mNewID:
       new_id

[../../src/netmanager/ConnectionInfo.h:9] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class ConnectionInfo has no explicit destructor, and contains pointer members:
       last_stream
       negotiate
       connection_info

[../../src/netmanager/ConnectionInfo.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class ConnectionInfo:
       last_stream
       negotiate
       connection_info

[../../src/messmanager/Message.h:3] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/netmanager/StatusMessage.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class StatusMessage:
       status
       id
       expl

[../../src/netmanager/StatusMessage.h:21] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function StatusMessage overloaded at:
       [../../src/netmanager/StatusMessage.h:21]
       [../../src/netmanager/StatusMessage.h:25]

[../../src/netmanager/StatusMessage.h:27] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/netmanager/protocols/ProtocolHandler.h:13] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function HowManyInstances is both virtual and inline

[../../src/netmanager/protocols/ProtocolHandler.h:16] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function HandlesURL is both virtual and inline

[../../src/netmanager/protocols/ProtocolHandler.h:28] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function NegotiatCB is both virtual and inline

[../../src/netmanager/protocols/ProtocolHandler.h:43] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function GetStatus is both virtual and inline

[../../src/netmanager/protocols/ProtocolHandler.h:43] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/netmanager/protocols/ProtocolHandler.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function Stop is both virtual and inline

[../../src/messmanager/MessageReceiver.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/netmanager/DataMessage.h:10] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class DataMessage:
       data
       length
       id

[../../src/netmanager/TransferFilter.h:15] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class TransferFilter has no explicit destructor, and contains pointer members:
       next

[../../src/netmanager/TransferFilter.h:15] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/netmanager/TransferFilter.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class TransferFilter:
       mgroup
       id
       next

[../../src/netmanager/TransferFilter.h:24] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/netmanager/TransferFilter.h:27] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function setNextFilter is both virtual and inline

[../../src/netmanager/netmanager.h:116] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function FetchURL_b overloaded at:
       [../../src/netmanager/netmanager.h:116]
       [../../src/netmanager/netmanager.h:118]

[../../src/netmanager/netmanager.h:130] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function FetchURL overloaded at:
       [../../src/netmanager/netmanager.h:130]
       [../../src/netmanager/netmanager.h:131]

[../../src/netmanager/netmanager.h:146] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function PostURL overloaded at:
       [../../src/netmanager/netmanager.h:146]
       [../../src/netmanager/netmanager.h:147]

[../../src/netmanager/netmanager.h:154] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function PutURL overloaded at:
       [../../src/netmanager/netmanager.h:154]
       [../../src/netmanager/netmanager.h:155]

[../../src/filtermanager/Filter.h:11] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/filtermanager/Filter.h:18] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isA is both virtual and inline

[../../src/filtermanager/Filter.h:19] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ProcessBlock is both virtual and inline

[Client.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:14] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class ClientManager has no explicit destructor, and contains pointer members:
       list

[ClientManager.h:14] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:18] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:21] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:27] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:27] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:33] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:33] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:33] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:48] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:48] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:48] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:48] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:65] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:65] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:65] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:65] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:65] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[gtkClientManager.h:21] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class gtkClientManager has no explicit destructor, and contains pointer members:
       wMain
       tabbar

[../../src/dispmanager/tools.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Point:
       dx
       dy

[../../src/dispmanager/tools.h:23] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Rect:
       x
       y
       w
       h

[../../src/dispmanager/tools.h:47] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function reunion returns object by value

[../../src/dispmanager/tools.h:55] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function getPosition returns object by value

[../../src/dispmanager/tools.h:56] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function getSize returns object by value

[../../src/dispmanager/Tag.h:31] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[../../src/dispmanager/Tag.h:32] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isReplaced is both virtual and inline

[../../src/dispmanager/Tag.h:34] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/dispmanager/Tag.h:61] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[../../src/dispmanager/Tag.h:75] Avoid returning "handles" to internal data from const member functions
    Severe violation: Effective C++ item 29

[../../src/dispmanager/Tag.h:79] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function SetAttributes is both virtual and inline

[../../src/dispmanager/Tag.h:80] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[../../src/dispmanager/DisplayManager.h:9] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/dispmanager/DisplayManager.h:22] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class DisplayManager has no explicit destructor, and contains pointer members:
       list

[../../src/messmanager/Message.h:3] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/messmanager/MessageReceiver.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[../../src/netmanager/Stream.h:12] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/netmanager/Stream.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReadBlock is both virtual and inline

[../../src/utils/thread.h:27] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    User-defined conversion should be made explicit

[../../src/utils/thread.h:28] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    User-defined conversion should be made explicit

[../../src/utils/thread.h:34] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/utils/thread.h:38] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function lock returns object by value

[../../src/utils/thread.h:38] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:39] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function unlock returns object by value

[../../src/utils/thread.h:39] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:41] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function trylock returns object by value

[../../src/utils/thread.h:41] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:43] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~thread_mutex is both virtual and inline

[../../src/utils/thread.h:55] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/utils/thread.h:59] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function broadcast returns object by value

[../../src/utils/thread.h:59] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:60] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function signal returns object by value

[../../src/utils/thread.h:60] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:61] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function wait returns object by value

[../../src/utils/thread.h:61] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:63] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~thread_cond is both virtual and inline

[../../src/filtermanager/Filter.h:11] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/filtermanager/Filter.h:18] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isA is both virtual and inline

[../../src/filtermanager/Filter.h:19] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ProcessBlock is both virtual and inline

[gtkClientManager.cc:43] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:43] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:44] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:44] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:45] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:45] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:46] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:46] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:49] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:49] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:49] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:52] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:52] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:57] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:57] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:58] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:58] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:59] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:59] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:65] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:65] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:69] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:69] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:71] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:71] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:71] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:75] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:75] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:81] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:81] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:92] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:92] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:98] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:98] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:99] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkClientManager.cc:99] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Client.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:14] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class ClientManager has no explicit destructor, and contains pointer members:
       list

[ClientManager.h:14] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:18] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:21] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:27] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:27] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:33] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:33] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:33] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:48] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:48] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:48] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:48] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:65] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:65] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:65] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:65] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:65] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/dispmanager/tools.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Point:
       dx
       dy

[../../src/dispmanager/tools.h:23] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Rect:
       x
       y
       w
       h

[../../src/dispmanager/tools.h:47] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function reunion returns object by value

[../../src/dispmanager/tools.h:55] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function getPosition returns object by value

[../../src/dispmanager/tools.h:56] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function getSize returns object by value

[../../src/dispmanager/Tag.h:31] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[../../src/dispmanager/Tag.h:32] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isReplaced is both virtual and inline

[../../src/dispmanager/Tag.h:34] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/dispmanager/Tag.h:61] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[../../src/dispmanager/Tag.h:75] Avoid returning "handles" to internal data from const member functions
    Severe violation: Effective C++ item 29

[../../src/dispmanager/Tag.h:79] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function SetAttributes is both virtual and inline

[../../src/dispmanager/Tag.h:80] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[../../src/dispmanager/DisplayManager.h:9] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/dispmanager/DisplayManager.h:22] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class DisplayManager has no explicit destructor, and contains pointer members:
       list

[../../src/messmanager/Message.h:3] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/messmanager/MessageReceiver.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[Browser.h:13] Call delete on pointer members in destructors
    Possible violation: Effective C++ item 6
    Class Browser contains pointer members not obviously deleted in destructor:
       ubox
       status
       newdisp
       disp

[../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[../../src/netmanager/Stream.h:12] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/netmanager/Stream.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReadBlock is both virtual and inline

[../../src/utils/thread.h:27] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    User-defined conversion should be made explicit

[../../src/utils/thread.h:28] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    User-defined conversion should be made explicit

[../../src/utils/thread.h:34] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/utils/thread.h:38] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function lock returns object by value

[../../src/utils/thread.h:38] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:39] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function unlock returns object by value

[../../src/utils/thread.h:39] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:41] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function trylock returns object by value

[../../src/utils/thread.h:41] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:43] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~thread_mutex is both virtual and inline

[../../src/utils/thread.h:55] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/utils/thread.h:59] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function broadcast returns object by value

[../../src/utils/thread.h:59] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:60] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function signal returns object by value

[../../src/utils/thread.h:60] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:61] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function wait returns object by value

[../../src/utils/thread.h:61] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:63] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~thread_cond is both virtual and inline

[../../src/messmanager/ContentMessage.h:6] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class ContentMessage:
       content
       id

[../../src/filtermanager/Filter.h:11] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/filtermanager/Filter.h:18] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isA is both virtual and inline

[../../src/filtermanager/Filter.h:19] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ProcessBlock is both virtual and inline

[../../src/filtermanager/DtreeInfo.h:8] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class DtreeInfo:
       disp
       tag

[../../src/filtermanager/DtreeFilter.h:13] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isA is both virtual and inline

[../../src/filtermanager/DtreeFilter.h:17] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReceiveMessage is both virtual and inline

[../../src/filtermanager/DtreeFilter.h:18] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function SetData is both virtual and inline

[../../src/filtermanager/DtreeFilter.h:19] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/netmanager/StatusMessage.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class StatusMessage:
       status
       id
       expl

[../../src/netmanager/StatusMessage.h:21] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function StatusMessage overloaded at:
       [../../src/netmanager/StatusMessage.h:21]
       [../../src/netmanager/StatusMessage.h:25]

[../../src/netmanager/StatusMessage.h:27] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/messmanager/MessageStuff.h:5] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/messmanager/MessageStuff.h:19] Have operator= return a reference to *this
    Severe violation: Effective C++ item 15

[../../src/messmanager/MessageStuff.h:19] Assign to all data members in operator=
    Possible severe violation: Effective C++ item 16
    Members not assigned:
       recipients

[../../src/messmanager/MessageStuff.h:26] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class Interest has no explicit destructor, and contains pointer members:
       obj
       func
       sender_

[../../src/messmanager/MessageStuff.h:43] Distinguish between prefix and postfix forms of increment and decrement
    Violation: More Effective C++ item 6
    Prefix form is recommended here

[../../src/messages/network/../mMessage.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/messages/network/../mMessage.h:6] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class mMessage:
       theSender

[../../src/messages/network/../mMessage.h:10] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/messages/network/mFetchURL.h:3] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class mFetchURL has no explicit destructor, and contains pointer members:
       url
       parent

[../../src/messages/network/mFetchURL.h:3] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class mFetchURL:
       id
       url
       parent
       mgroup

[../../src/messages/network/mNewID.h:4] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class mNewID:
       new_id

[Browser.cc:57] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Browser.cc:82] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Browser.cc:87] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Client.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:14] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class ClientManager has no explicit destructor, and contains pointer members:
       list

[ClientManager.h:14] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:18] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:21] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:27] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:27] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:33] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:33] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:33] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:48] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:48] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:48] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:48] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:65] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:65] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:65] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:65] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[ClientManager.h:65] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/dispmanager/tools.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Point:
       dx
       dy

[../../src/dispmanager/tools.h:23] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Rect:
       x
       y
       w
       h

[../../src/dispmanager/tools.h:47] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function reunion returns object by value

[../../src/dispmanager/tools.h:55] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function getPosition returns object by value

[../../src/dispmanager/tools.h:56] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function getSize returns object by value

[../../src/dispmanager/Tag.h:31] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[../../src/dispmanager/Tag.h:32] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isReplaced is both virtual and inline

[../../src/dispmanager/Tag.h:34] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/dispmanager/Tag.h:61] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[../../src/dispmanager/Tag.h:75] Avoid returning "handles" to internal data from const member functions
    Severe violation: Effective C++ item 29

[../../src/dispmanager/Tag.h:79] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function SetAttributes is both virtual and inline

[../../src/dispmanager/Tag.h:80] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[../../src/dispmanager/DisplayManager.h:9] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/dispmanager/DisplayManager.h:22] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class DisplayManager has no explicit destructor, and contains pointer members:
       list

[../../src/messmanager/Message.h:3] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/messmanager/MessageReceiver.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[gtkClientManager.h:21] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class gtkClientManager has no explicit destructor, and contains pointer members:
       wMain
       tabbar

[../../src/dispmanager/gtkTagDisplay.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Context:
       font
       AvailableWidth
       dx
       dy
       gc
       r
       widget
       vp

[../../src/dispmanager/gtkTagDisplay.h:30] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class gtkGenericTag:
       at

[../../src/dispmanager/gtkTagDisplay.h:60] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isWidget is both virtual and inline

[../../src/dispmanager/gtkTagDisplay.h:66] Pass objects by reference instead of by value
    Violation: Effective C++ item 22
    Parameter sugested of function realize passed by value

[../../src/dispmanager/gtkTagDisplay.h:66] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function realize returns object by value

[../../src/dispmanager/gtkTagDisplay.h:80] Pass objects by reference instead of by value
    Violation: Effective C++ item 22
    Parameter sugested of function realize passed by value

[../../src/dispmanager/gtkTagDisplay.h:80] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function realize returns object by value

[../../src/dispmanager/gtkTagDisplay.h:87] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class gtkTagDisplay has no explicit destructor, and contains pointer members:
       table
       vadj
       vscroll
       hadj
       hscroll
       viewport
       gc
       cm
       fc
       exposed
       body

[../../src/dispmanager/gtkTagDisplay.h:87] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class gtkTagDisplay:
       body

[../../src/dispmanager/gtkTagDisplay.h:119] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function getBody is both virtual and inline

[../../src/dispmanager/gtkTagDisplay.h:119] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[gtkBrowser.cc:29] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[gtkBrowser.cc:32] Use delete instead of free
    Violation: Effective C++ item 3

[gtkBrowser.cc:69] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:72] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:72] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:77] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:77] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:86] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:86] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:87] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:87] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:91] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:91] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:94] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:94] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:94] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:94] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:104] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:106] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:106] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:110] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:110] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:124] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:124] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:125] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:125] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:126] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:126] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:127] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:127] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:133] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:133] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:140] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:140] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:141] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:141] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:144] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:144] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:145] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:145] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:151] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:151] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:152] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:152] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:159] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:159] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:160] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:160] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:165] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:165] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:165] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:172] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:172] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:172] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:172] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:172] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:188] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:188] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:192] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:192] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:196] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:198] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:198] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:198] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:199] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:203] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:203] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkBrowser.cc:203] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[../../src/netmanager/Stream.h:12] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/netmanager/Stream.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReadBlock is both virtual and inline

[../../src/utils/thread.h:27] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    User-defined conversion should be made explicit

[../../src/utils/thread.h:28] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    User-defined conversion should be made explicit

[../../src/utils/thread.h:34] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/utils/thread.h:38] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function lock returns object by value

[../../src/utils/thread.h:38] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:39] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function unlock returns object by value

[../../src/utils/thread.h:39] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:41] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function trylock returns object by value

[../../src/utils/thread.h:41] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:43] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~thread_mutex is both virtual and inline

[../../src/utils/thread.h:55] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/utils/thread.h:59] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function broadcast returns object by value

[../../src/utils/thread.h:59] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:60] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function signal returns object by value

[../../src/utils/thread.h:60] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:61] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function wait returns object by value

[../../src/utils/thread.h:61] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:63] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~thread_cond is both virtual and inline

[ConfigManager.h:24] Call delete on pointer members in destructors
    Possible violation: Effective C++ item 6
    Class ConfigManager contains pointer members not obviously deleted in destructor:
       ConfigPath
       ConfigFile

[ConfigManager.cc:26] Prefer C++-style casts
    Violation: More Effective C++ item 2

[ConfigManager.cc:26] Use new instead of malloc
    Violation: Effective C++ item 3

[ConfigManager.cc:41] Use delete instead of free
    Violation: Effective C++ item 3

[ConfigManager.cc:54] Prefer C++-style casts
    Violation: More Effective C++ item 2

[ConfigManager.cc:54] Use new instead of malloc
    Violation: Effective C++ item 3

[ConfigManager.cc:59] Prefer C++-style casts
    Violation: More Effective C++ item 2

[ConfigManager.cc:80] Use delete instead of free
    Violation: Effective C++ item 3

[ConfigManager.cc:90] Use delete instead of free
    Violation: Effective C++ item 3

[ConfigManager.cc:103] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Message.h:3] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[MessageReceiver.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[messmanager.cc:20] Prefer C++-style casts
    Violation: More Effective C++ item 2

[messmanager.cc:40] Prefer C++-style casts
    Violation: More Effective C++ item 2

[messmanager.cc:46] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../src/netmanager/Stream.h:12] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../src/netmanager/Stream.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReadBlock is both virtual and inline

[../../../src/utils/thread.h:27] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    User-defined conversion should be made explicit

[../../../src/utils/thread.h:28] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    User-defined conversion should be made explicit

[../../../src/utils/thread.h:34] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../src/utils/thread.h:38] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function lock returns object by value

[../../../src/utils/thread.h:38] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../src/utils/thread.h:39] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function unlock returns object by value

[../../../src/utils/thread.h:39] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../src/utils/thread.h:41] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function trylock returns object by value

[../../../src/utils/thread.h:41] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../src/utils/thread.h:43] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~thread_mutex is both virtual and inline

[../../../src/utils/thread.h:55] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../src/utils/thread.h:59] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function broadcast returns object by value

[../../../src/utils/thread.h:59] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../src/utils/thread.h:60] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function signal returns object by value

[../../../src/utils/thread.h:60] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../src/utils/thread.h:61] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function wait returns object by value

[../../../src/utils/thread.h:61] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../src/utils/thread.h:63] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~thread_cond is both virtual and inline

[TCPConnection.h:43] Call delete on pointer members in destructors
    Possible violation: Effective C++ item 6
    Class TCPConnection contains pointer members not obviously deleted in destructor:
       lookup
       host

[../../../src/messmanager/Message.h:3] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../src/netmanager/StatusMessage.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class StatusMessage:
       status
       id
       expl

[../../../src/netmanager/StatusMessage.h:21] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function StatusMessage overloaded at:
       [../../../src/netmanager/StatusMessage.h:21]
       [../../../src/netmanager/StatusMessage.h:25]

[../../../src/netmanager/StatusMessage.h:27] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[../../../src/messmanager/MessageReceiver.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[TCPConnection.cc:26] Prefer C++-style casts
    Violation: More Effective C++ item 2

[TCPConnection.cc:37] Prefer C++-style casts
    Violation: More Effective C++ item 2

[TCPConnection.cc:40] Prefer C++-style casts
    Violation: More Effective C++ item 2

[TCPConnection.cc:41] Use delete instead of free
    Violation: Effective C++ item 3

[TCPConnection.cc:85] Prefer C++-style casts
    Violation: More Effective C++ item 2

[TCPConnection.cc:97] Prefer C++-style casts
    Violation: More Effective C++ item 2

[TCPConnection.cc:102] Prefer C++-style casts
    Violation: More Effective C++ item 2

[TCPConnection.cc:102] Prefer C++-style casts
    Violation: More Effective C++ item 2

[TCPConnection.cc:106] Prefer C++-style casts
    Violation: More Effective C++ item 2

[TCPConnection.cc:119] Prefer C++-style casts
    Violation: More Effective C++ item 2

[TCPConnection.cc:121] Prefer C++-style casts
    Violation: More Effective C++ item 2

[TCPConnection.cc:127] Prefer C++-style casts
    Violation: More Effective C++ item 2

[TCPConnection.cc:127] Use new instead of malloc
    Violation: Effective C++ item 3

[TCPConnection.cc:128] Prefer C++-style casts
    Violation: More Effective C++ item 2

[TCPConnection.cc:129] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../src/messmanager/Message.h:3] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../src/netmanager/StatusMessage.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class StatusMessage:
       status
       id
       expl

[../../../src/netmanager/StatusMessage.h:21] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function StatusMessage overloaded at:
       [../../../src/netmanager/StatusMessage.h:21]
       [../../../src/netmanager/StatusMessage.h:25]

[../../../src/netmanager/StatusMessage.h:27] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[../../../src/messmanager/MessageReceiver.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../src/netmanager/Stream.h:12] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../src/netmanager/Stream.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReadBlock is both virtual and inline

[../../../src/utils/thread.h:27] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    User-defined conversion should be made explicit

[../../../src/utils/thread.h:28] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    User-defined conversion should be made explicit

[../../../src/utils/thread.h:34] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../src/utils/thread.h:38] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function lock returns object by value

[../../../src/utils/thread.h:38] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../src/utils/thread.h:39] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function unlock returns object by value

[../../../src/utils/thread.h:39] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../src/utils/thread.h:41] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function trylock returns object by value

[../../../src/utils/thread.h:41] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../src/utils/thread.h:43] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~thread_mutex is both virtual and inline

[../../../src/utils/thread.h:55] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../src/utils/thread.h:59] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function broadcast returns object by value

[../../../src/utils/thread.h:59] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../src/utils/thread.h:60] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function signal returns object by value

[../../../src/utils/thread.h:60] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../src/utils/thread.h:61] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function wait returns object by value

[../../../src/utils/thread.h:61] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../src/utils/thread.h:63] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~thread_cond is both virtual and inline

[SSLConnection.h:55] Prefer C++-style casts
    Violation: More Effective C++ item 2

[SSLConnection.h:61] Call delete on pointer members in destructors
    Possible violation: Effective C++ item 6
    Class SSLConnection contains pointer members not obviously deleted in destructor:
       ssl
       lookup
       host

[SSLConnection.cc:27] Prefer C++-style casts
    Violation: More Effective C++ item 2

[SSLConnection.cc:35] Prefer C++-style casts
    Violation: More Effective C++ item 2

[SSLConnection.cc:42] Prefer C++-style casts
    Violation: More Effective C++ item 2

[SSLConnection.cc:51] Prefer C++-style casts
    Violation: More Effective C++ item 2

[SSLConnection.cc:59] Prefer C++-style casts
    Violation: More Effective C++ item 2

[SSLConnection.cc:66] Prefer C++-style casts
    Violation: More Effective C++ item 2

[SSLConnection.cc:80] Prefer C++-style casts
    Violation: More Effective C++ item 2

[SSLConnection.cc:88] Prefer C++-style casts
    Violation: More Effective C++ item 2

[SSLConnection.cc:95] Prefer C++-style casts
    Violation: More Effective C++ item 2

[SSLConnection.cc:110] Prefer C++-style casts
    Violation: More Effective C++ item 2

[SSLConnection.cc:113] Prefer C++-style casts
    Violation: More Effective C++ item 2

[SSLConnection.cc:114] Use delete instead of free
    Violation: Effective C++ item 3

[SSLConnection.cc:131] Prefer C++-style casts
    Violation: More Effective C++ item 2

[SSLConnection.cc:139] Prefer C++-style casts
    Violation: More Effective C++ item 2

[SSLConnection.cc:157] Prefer C++-style casts
    Violation: More Effective C++ item 2

[SSLConnection.cc:169] Prefer C++-style casts
    Violation: More Effective C++ item 2

[SSLConnection.cc:174] Prefer C++-style casts
    Violation: More Effective C++ item 2

[SSLConnection.cc:174] Prefer C++-style casts
    Violation: More Effective C++ item 2

[SSLConnection.cc:178] Prefer C++-style casts
    Violation: More Effective C++ item 2

[SSLConnection.cc:193] Prefer C++-style casts
    Violation: More Effective C++ item 2

[SSLConnection.cc:195] Prefer C++-style casts
    Violation: More Effective C++ item 2

[SSLConnection.cc:201] Prefer C++-style casts
    Violation: More Effective C++ item 2

[SSLConnection.cc:201] Use new instead of malloc
    Violation: Effective C++ item 3

[SSLConnection.cc:202] Prefer C++-style casts
    Violation: More Effective C++ item 2

[SSLConnection.cc:203] Prefer C++-style casts
    Violation: More Effective C++ item 2

[SSLConnection.cc:229] Prefer C++-style casts
    Violation: More Effective C++ item 2

[SSLConnection.cc:262] Prefer C++-style casts
    Violation: More Effective C++ item 2

[SSLConnection.cc:299] Prefer C++-style casts
    Violation: More Effective C++ item 2

[SSLConnection.cc:300] Prefer C++-style casts
    Violation: More Effective C++ item 2

[SSLConnection.cc:319] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../src/netmanager/Stream.h:12] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../src/netmanager/Stream.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReadBlock is both virtual and inline

[../../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[../../../src/messmanager/Message.h:3] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../src/messmanager/MessageReceiver.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../src/netmanager/StatusMessage.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class StatusMessage:
       status
       id
       expl

[../../../src/netmanager/StatusMessage.h:21] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function StatusMessage overloaded at:
       [../../../src/netmanager/StatusMessage.h:21]
       [../../../src/netmanager/StatusMessage.h:25]

[../../../src/netmanager/StatusMessage.h:27] Prefer C++-style casts
    Violation: More Effective C++ item 2

[FILEStream.cc:66] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/netmanager/Stream.h:12] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../../src/netmanager/Stream.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReadBlock is both virtual and inline

[../../../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[../../../../src/netmanager/ConnectionInfo.h:9] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class ConnectionInfo has no explicit destructor, and contains pointer members:
       last_stream
       negotiate
       connection_info

[../../../../src/netmanager/ConnectionInfo.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class ConnectionInfo:
       last_stream
       negotiate
       connection_info

[../../../../src/messmanager/Message.h:3] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../../src/netmanager/StatusMessage.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class StatusMessage:
       status
       id
       expl

[../../../../src/netmanager/StatusMessage.h:21] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function StatusMessage overloaded at:
       [../../../../src/netmanager/StatusMessage.h:21]
       [../../../../src/netmanager/StatusMessage.h:25]

[../../../../src/netmanager/StatusMessage.h:27] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/netmanager/protocols/ProtocolHandler.h:13] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function HowManyInstances is both virtual and inline

[../../../../src/netmanager/protocols/ProtocolHandler.h:16] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function HandlesURL is both virtual and inline

[../../../../src/netmanager/protocols/ProtocolHandler.h:28] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function NegotiatCB is both virtual and inline

[../../../../src/netmanager/protocols/ProtocolHandler.h:43] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function GetStatus is both virtual and inline

[../../../../src/netmanager/protocols/ProtocolHandler.h:43] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/netmanager/protocols/ProtocolHandler.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function Stop is both virtual and inline

[../../../../src/netmanager/protocols/Url.h:18] Call delete on pointer members in destructors
    Possible violation: Effective C++ item 6
    Class Url contains pointer members not obviously deleted in destructor:
       url
       scheme
       user
       auth
       host
       path
       params
       query
       fragment

[../../../../src/netmanager/protocols/Url.h:18] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Url:
       url
       scheme
       user
       auth
       host
       path
       params
       query
       fragment
       port
       valid
       relative

[../../../../src/netmanager/protocols/Url.h:60] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~Url is both virtual and inline

[../../../../src/netmanager/protocols/Url.h:62] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:63] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:64] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:65] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:66] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:67] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:68] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:69] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:70] Use delete instead of free
    Violation: Effective C++ item 3

[FILEUrl.h:14] Avoid calling virtual functions from constructors and destructors
    Severe violation: Meyers-Klaus item 13
    Virtual function PostConstructor called.

[../../../../src/messmanager/MessageStuff.h:5] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../../src/messmanager/MessageStuff.h:19] Have operator= return a reference to *this
    Severe violation: Effective C++ item 15

[../../../../src/messmanager/MessageStuff.h:19] Assign to all data members in operator=
    Possible severe violation: Effective C++ item 16
    Members not assigned:
       recipients

[../../../../src/messmanager/MessageStuff.h:26] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class Interest has no explicit destructor, and contains pointer members:
       obj
       func
       sender_

[../../../../src/messmanager/MessageStuff.h:43] Distinguish between prefix and postfix forms of increment and decrement
    Violation: More Effective C++ item 6
    Prefix form is recommended here

[../../../../src/messages/network/../mMessage.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../../src/messages/network/../mMessage.h:6] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class mMessage:
       theSender

[../../../../src/messages/network/../mMessage.h:10] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/messages/network/mFetchURL.h:3] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class mFetchURL has no explicit destructor, and contains pointer members:
       url
       parent

[../../../../src/messages/network/mFetchURL.h:3] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class mFetchURL:
       id
       url
       parent
       mgroup

[../../../../src/messages/network/mNewID.h:4] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class mNewID:
       new_id

[../../../../src/messmanager/MessageReceiver.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../../src/utils/thread.h:27] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    User-defined conversion should be made explicit

[../../../../src/utils/thread.h:28] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    User-defined conversion should be made explicit

[../../../../src/utils/thread.h:34] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/utils/thread.h:38] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function lock returns object by value

[../../../../src/utils/thread.h:38] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:39] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function unlock returns object by value

[../../../../src/utils/thread.h:39] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:41] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function trylock returns object by value

[../../../../src/utils/thread.h:41] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:43] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~thread_mutex is both virtual and inline

[../../../../src/utils/thread.h:55] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/utils/thread.h:59] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function broadcast returns object by value

[../../../../src/utils/thread.h:59] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:60] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function signal returns object by value

[../../../../src/utils/thread.h:60] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:61] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function wait returns object by value

[../../../../src/utils/thread.h:61] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:63] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~thread_cond is both virtual and inline

[../../../../src/netmanager/DataMessage.h:10] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class DataMessage:
       data
       length
       id

[../../../../src/netmanager/TransferFilter.h:15] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class TransferFilter has no explicit destructor, and contains pointer members:
       next

[../../../../src/netmanager/TransferFilter.h:15] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../../src/netmanager/TransferFilter.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class TransferFilter:
       mgroup
       id
       next

[../../../../src/netmanager/TransferFilter.h:24] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/netmanager/TransferFilter.h:27] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function setNextFilter is both virtual and inline

[../../../../src/netmanager/netmanager.h:116] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function FetchURL_b overloaded at:
       [../../../../src/netmanager/netmanager.h:116]
       [../../../../src/netmanager/netmanager.h:118]

[../../../../src/netmanager/netmanager.h:130] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function FetchURL overloaded at:
       [../../../../src/netmanager/netmanager.h:130]
       [../../../../src/netmanager/netmanager.h:131]

[../../../../src/netmanager/netmanager.h:146] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function PostURL overloaded at:
       [../../../../src/netmanager/netmanager.h:146]
       [../../../../src/netmanager/netmanager.h:147]

[../../../../src/netmanager/netmanager.h:154] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function PutURL overloaded at:
       [../../../../src/netmanager/netmanager.h:154]
       [../../../../src/netmanager/netmanager.h:155]

[../../../../src/messmanager/ContentMessage.h:6] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class ContentMessage:
       content
       id

[FILEHandler.cc:52] Prefer C++-style casts
    Violation: More Effective C++ item 2

[FILEHandler.cc:54] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/netmanager/protocols/Url.h:18] Call delete on pointer members in destructors
    Possible violation: Effective C++ item 6
    Class Url contains pointer members not obviously deleted in destructor:
       url
       scheme
       user
       auth
       host
       path
       params
       query
       fragment

[../../../../src/netmanager/protocols/Url.h:18] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Url:
       url
       scheme
       user
       auth
       host
       path
       params
       query
       fragment
       port
       valid
       relative

[../../../../src/netmanager/protocols/Url.h:60] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~Url is both virtual and inline

[../../../../src/netmanager/protocols/Url.h:62] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:63] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:64] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:65] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:66] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:67] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:68] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:69] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:70] Use delete instead of free
    Violation: Effective C++ item 3

[FILEUrl.h:14] Avoid calling virtual functions from constructors and destructors
    Severe violation: Meyers-Klaus item 13
    Virtual function PostConstructor called.

[HTTPDate.h:34] Avoid member functions that return pointers or references to members less accessible than themselves
    Violation: Effective C++ item 30

[../../../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[HTTPDate.cc:14] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPDate.cc:18] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[HTTPDate.cc:49] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[HTTPMessage.h:12] Define a copy constructor and operator= for classes with dynamically allocated memory
    Severe violation: Effective C++ item 11
    Class HTTPMessage missing assignment operator and copy constructor.

[../../../../src/netmanager/Stream.h:12] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../../src/netmanager/Stream.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReadBlock is both virtual and inline

[../../../../src/netmanager/protocols/Url.h:18] Call delete on pointer members in destructors
    Possible violation: Effective C++ item 6
    Class Url contains pointer members not obviously deleted in destructor:
       url
       scheme
       user
       auth
       host
       path
       params
       query
       fragment

[../../../../src/netmanager/protocols/Url.h:18] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Url:
       url
       scheme
       user
       auth
       host
       path
       params
       query
       fragment
       port
       valid
       relative

[../../../../src/netmanager/protocols/Url.h:60] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~Url is both virtual and inline

[../../../../src/netmanager/protocols/Url.h:62] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:63] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:64] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:65] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:66] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:67] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:68] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:69] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:70] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/https/HTTPSUrl.h:17] Avoid calling virtual functions from constructors and destructors
    Severe violation: Meyers-Klaus item 13
    Virtual function PostConstructor called.

[../../../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[HTTPUrl.h:16] Avoid calling virtual functions from constructors and destructors
    Severe violation: Meyers-Klaus item 13
    Virtual function PostConstructor called.

[HTTPRequest.h:56] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function Send is both virtual and inline

[../../../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[../../../../src/netmanager/Stream.h:12] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../../src/netmanager/Stream.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReadBlock is both virtual and inline

[HTTPDate.h:34] Avoid member functions that return pointers or references to members less accessible than themselves
    Violation: Effective C++ item 30

[HTTPResponse.h:9] Call delete on pointer members in destructors
    Possible violation: Effective C++ item 6
    Class HTTPResponse contains pointer members not obviously deleted in destructor:
       old

[HTTPResponse.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HTTPResponse:
       State
       WaitUntil

[../../../../src/utils/thread.h:27] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    User-defined conversion should be made explicit

[../../../../src/utils/thread.h:28] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    User-defined conversion should be made explicit

[../../../../src/utils/thread.h:34] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/utils/thread.h:38] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function lock returns object by value

[../../../../src/utils/thread.h:38] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:39] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function unlock returns object by value

[../../../../src/utils/thread.h:39] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:41] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function trylock returns object by value

[../../../../src/utils/thread.h:41] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:43] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~thread_mutex is both virtual and inline

[../../../../src/utils/thread.h:55] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/utils/thread.h:59] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function broadcast returns object by value

[../../../../src/utils/thread.h:59] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:60] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function signal returns object by value

[../../../../src/utils/thread.h:60] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:61] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function wait returns object by value

[../../../../src/utils/thread.h:61] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:63] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~thread_cond is both virtual and inline

[HTTPResponse.cc:21] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPResponse.cc:22] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPResponse.cc:27] Use delete instead of free
    Violation: Effective C++ item 3

[HTTPResponse.cc:55] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPResponse.cc:55] Use new instead of malloc
    Violation: Effective C++ item 3

[HTTPResponse.cc:58] Use delete instead of free
    Violation: Effective C++ item 3

[HTTPResponse.cc:64] Use delete instead of free
    Violation: Effective C++ item 3

[HTTPResponse.cc:65] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPResponse.cc:84] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPResponse.cc:84] Use new instead of malloc
    Violation: Effective C++ item 3

[../../../../src/netmanager/Stream.h:12] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../../src/netmanager/Stream.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReadBlock is both virtual and inline

[../../../../src/utils/thread.h:27] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    User-defined conversion should be made explicit

[../../../../src/utils/thread.h:28] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    User-defined conversion should be made explicit

[../../../../src/utils/thread.h:34] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/utils/thread.h:38] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function lock returns object by value

[../../../../src/utils/thread.h:38] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:39] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function unlock returns object by value

[../../../../src/utils/thread.h:39] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:41] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function trylock returns object by value

[../../../../src/utils/thread.h:41] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:43] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~thread_mutex is both virtual and inline

[../../../../src/utils/thread.h:55] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/utils/thread.h:59] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function broadcast returns object by value

[../../../../src/utils/thread.h:59] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:60] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function signal returns object by value

[../../../../src/utils/thread.h:60] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:61] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function wait returns object by value

[../../../../src/utils/thread.h:61] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:63] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~thread_cond is both virtual and inline

[../../../../src/netmanager/protocols/Url.h:18] Call delete on pointer members in destructors
    Possible violation: Effective C++ item 6
    Class Url contains pointer members not obviously deleted in destructor:
       url
       scheme
       user
       auth
       host
       path
       params
       query
       fragment

[../../../../src/netmanager/protocols/Url.h:18] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Url:
       url
       scheme
       user
       auth
       host
       path
       params
       query
       fragment
       port
       valid
       relative

[../../../../src/netmanager/protocols/Url.h:60] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~Url is both virtual and inline

[../../../../src/netmanager/protocols/Url.h:62] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:63] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:64] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:65] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:66] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:67] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:68] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:69] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:70] Use delete instead of free
    Violation: Effective C++ item 3

[HTTPUrl.h:16] Avoid calling virtual functions from constructors and destructors
    Severe violation: Meyers-Klaus item 13
    Virtual function PostConstructor called.

[../../../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[../../../../src/netmanager/ConnectionInfo.h:9] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class ConnectionInfo has no explicit destructor, and contains pointer members:
       last_stream
       negotiate
       connection_info

[../../../../src/netmanager/ConnectionInfo.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class ConnectionInfo:
       last_stream
       negotiate
       connection_info

[../../../../src/messmanager/Message.h:3] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../../src/netmanager/StatusMessage.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class StatusMessage:
       status
       id
       expl

[../../../../src/netmanager/StatusMessage.h:21] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function StatusMessage overloaded at:
       [../../../../src/netmanager/StatusMessage.h:21]
       [../../../../src/netmanager/StatusMessage.h:25]

[../../../../src/netmanager/StatusMessage.h:27] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/netmanager/protocols/ProtocolHandler.h:13] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function HowManyInstances is both virtual and inline

[../../../../src/netmanager/protocols/ProtocolHandler.h:16] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function HandlesURL is both virtual and inline

[../../../../src/netmanager/protocols/ProtocolHandler.h:28] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function NegotiatCB is both virtual and inline

[../../../../src/netmanager/protocols/ProtocolHandler.h:43] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function GetStatus is both virtual and inline

[../../../../src/netmanager/protocols/ProtocolHandler.h:43] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/netmanager/protocols/ProtocolHandler.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function Stop is both virtual and inline

[../../../../src/netmanager/protocols/https/HTTPSUrl.h:17] Avoid calling virtual functions from constructors and destructors
    Severe violation: Meyers-Klaus item 13
    Virtual function PostConstructor called.

[HTTPRequest.h:56] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function Send is both virtual and inline

[HTTPDate.h:34] Avoid member functions that return pointers or references to members less accessible than themselves
    Violation: Effective C++ item 30

[HTTPResponse.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HTTPResponse:
       State
       WaitUntil

[HTTPHandler.h:89] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class http_file:
       id
       res
       req
       Info
       mgroup
       next

[HTTPHandler.h:104] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPHandler.h:104] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPHandler.h:104] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPHandler.h:104] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPHandler.h:193] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPHandler.h:195] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/messmanager/MessageReceiver.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../../src/messmanager/MessageStuff.h:5] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../../src/messmanager/MessageStuff.h:19] Have operator= return a reference to *this
    Severe violation: Effective C++ item 15

[../../../../src/messmanager/MessageStuff.h:19] Assign to all data members in operator=
    Possible severe violation: Effective C++ item 16
    Members not assigned:
       recipients

[../../../../src/messmanager/MessageStuff.h:26] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class Interest has no explicit destructor, and contains pointer members:
       obj
       func
       sender_

[../../../../src/messmanager/MessageStuff.h:43] Distinguish between prefix and postfix forms of increment and decrement
    Violation: More Effective C++ item 6
    Prefix form is recommended here

[../../../../src/messages/network/../mMessage.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../../src/messages/network/../mMessage.h:6] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class mMessage:
       theSender

[../../../../src/messages/network/../mMessage.h:10] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/messages/network/mFetchURL.h:3] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class mFetchURL has no explicit destructor, and contains pointer members:
       url
       parent

[../../../../src/messages/network/mFetchURL.h:3] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class mFetchURL:
       id
       url
       parent
       mgroup

[../../../../src/messages/network/mNewID.h:4] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class mNewID:
       new_id

[../../../../src/netmanager/DataMessage.h:10] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class DataMessage:
       data
       length
       id

[../../../../src/netmanager/TransferFilter.h:15] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class TransferFilter has no explicit destructor, and contains pointer members:
       next

[../../../../src/netmanager/TransferFilter.h:15] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../../src/netmanager/TransferFilter.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class TransferFilter:
       mgroup
       id
       next

[../../../../src/netmanager/TransferFilter.h:24] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/netmanager/TransferFilter.h:27] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function setNextFilter is both virtual and inline

[../../../../src/netmanager/netmanager.h:116] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function FetchURL_b overloaded at:
       [../../../../src/netmanager/netmanager.h:116]
       [../../../../src/netmanager/netmanager.h:118]

[../../../../src/netmanager/netmanager.h:130] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function FetchURL overloaded at:
       [../../../../src/netmanager/netmanager.h:130]
       [../../../../src/netmanager/netmanager.h:131]

[../../../../src/netmanager/netmanager.h:146] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function PostURL overloaded at:
       [../../../../src/netmanager/netmanager.h:146]
       [../../../../src/netmanager/netmanager.h:147]

[../../../../src/netmanager/netmanager.h:154] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function PutURL overloaded at:
       [../../../../src/netmanager/netmanager.h:154]
       [../../../../src/netmanager/netmanager.h:155]

[../../../../src/netmanager/HTTPNegotiateFilter.h:10] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class HTTPNegotiateFilter has no explicit destructor, and contains pointer members:
       handler

[../../../../src/messmanager/ContentMessage.h:6] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class ContentMessage:
       content
       id

[HTTPHandler.cc:57] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPHandler.cc:58] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPHandler.cc:114] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPHandler.cc:119] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPHandler.cc:153] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPHandler.cc:153] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPHandler.cc:161] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPHandler.cc:164] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPHandler.cc:165] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPHandler.cc:173] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPHandler.cc:176] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPHandler.cc:178] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPHandler.cc:184] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPHandler.cc:268] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPHandler.cc:317] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPHandler.cc:318] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPHandler.cc:320] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPHandler.cc:321] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPHandler.cc:324] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[HTTPHandler.cc:326] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[HTTPHandler.cc:327] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPHandler.cc:333] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPHandler.cc:336] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPHandler.cc:392] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPHandler.cc:405] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPHandler.cc:410] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPHandler.cc:427] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPHandler.cc:441] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/netmanager/Stream.h:12] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../../src/netmanager/Stream.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReadBlock is both virtual and inline

[../../../../src/netmanager/protocols/Url.h:18] Call delete on pointer members in destructors
    Possible violation: Effective C++ item 6
    Class Url contains pointer members not obviously deleted in destructor:
       url
       scheme
       user
       auth
       host
       path
       params
       query
       fragment

[../../../../src/netmanager/protocols/Url.h:18] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Url:
       url
       scheme
       user
       auth
       host
       path
       params
       query
       fragment
       port
       valid
       relative

[../../../../src/netmanager/protocols/Url.h:60] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~Url is both virtual and inline

[../../../../src/netmanager/protocols/Url.h:62] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:63] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:64] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:65] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:66] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:67] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:68] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:69] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:70] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/https/HTTPSUrl.h:17] Avoid calling virtual functions from constructors and destructors
    Severe violation: Meyers-Klaus item 13
    Virtual function PostConstructor called.

[../../../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[HTTPUrl.h:16] Avoid calling virtual functions from constructors and destructors
    Severe violation: Meyers-Klaus item 13
    Virtual function PostConstructor called.

[HTTPRequest.h:56] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function Send is both virtual and inline

[HTTPRequest.cc:17] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPRequest.cc:17] Use new instead of malloc
    Violation: Effective C++ item 3

[../../../../src/netmanager/Stream.h:12] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../../src/netmanager/Stream.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReadBlock is both virtual and inline

[../../../../src/netmanager/protocols/Url.h:18] Call delete on pointer members in destructors
    Possible violation: Effective C++ item 6
    Class Url contains pointer members not obviously deleted in destructor:
       url
       scheme
       user
       auth
       host
       path
       params
       query
       fragment

[../../../../src/netmanager/protocols/Url.h:18] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Url:
       url
       scheme
       user
       auth
       host
       path
       params
       query
       fragment
       port
       valid
       relative

[../../../../src/netmanager/protocols/Url.h:60] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~Url is both virtual and inline

[../../../../src/netmanager/protocols/Url.h:62] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:63] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:64] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:65] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:66] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:67] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:68] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:69] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:70] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/https/HTTPSUrl.h:17] Avoid calling virtual functions from constructors and destructors
    Severe violation: Meyers-Klaus item 13
    Virtual function PostConstructor called.

[../../../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[HTTPUrl.h:16] Avoid calling virtual functions from constructors and destructors
    Severe violation: Meyers-Klaus item 13
    Virtual function PostConstructor called.

[HTTPRequest.h:56] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function Send is both virtual and inline

[../../../../src/utils/thread.h:27] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    User-defined conversion should be made explicit

[../../../../src/utils/thread.h:28] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    User-defined conversion should be made explicit

[../../../../src/utils/thread.h:34] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/utils/thread.h:38] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function lock returns object by value

[../../../../src/utils/thread.h:38] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:39] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function unlock returns object by value

[../../../../src/utils/thread.h:39] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:41] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function trylock returns object by value

[../../../../src/utils/thread.h:41] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:43] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~thread_mutex is both virtual and inline

[../../../../src/utils/thread.h:55] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/utils/thread.h:59] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function broadcast returns object by value

[../../../../src/utils/thread.h:59] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:60] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function signal returns object by value

[../../../../src/utils/thread.h:60] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:61] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function wait returns object by value

[../../../../src/utils/thread.h:61] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:63] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~thread_cond is both virtual and inline

[../../../../src/netmanager/protocols/Url.h:18] Call delete on pointer members in destructors
    Possible violation: Effective C++ item 6
    Class Url contains pointer members not obviously deleted in destructor:
       url
       scheme
       user
       auth
       host
       path
       params
       query
       fragment

[../../../../src/netmanager/protocols/Url.h:18] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Url:
       url
       scheme
       user
       auth
       host
       path
       params
       query
       fragment
       port
       valid
       relative

[../../../../src/netmanager/protocols/Url.h:60] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~Url is both virtual and inline

[../../../../src/netmanager/protocols/Url.h:62] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:63] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:64] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:65] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:66] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:67] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:68] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:69] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:70] Use delete instead of free
    Violation: Effective C++ item 3

[HTTPUrl.h:16] Avoid calling virtual functions from constructors and destructors
    Severe violation: Meyers-Klaus item 13
    Virtual function PostConstructor called.

[../../../../src/netmanager/Stream.h:12] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../../src/netmanager/Stream.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReadBlock is both virtual and inline

[../../../../src/utils/thread.h:27] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    User-defined conversion should be made explicit

[../../../../src/utils/thread.h:28] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    User-defined conversion should be made explicit

[../../../../src/utils/thread.h:34] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/utils/thread.h:38] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function lock returns object by value

[../../../../src/utils/thread.h:38] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:39] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function unlock returns object by value

[../../../../src/utils/thread.h:39] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:41] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function trylock returns object by value

[../../../../src/utils/thread.h:41] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:43] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~thread_mutex is both virtual and inline

[../../../../src/utils/thread.h:55] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/utils/thread.h:59] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function broadcast returns object by value

[../../../../src/utils/thread.h:59] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:60] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function signal returns object by value

[../../../../src/utils/thread.h:60] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:61] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function wait returns object by value

[../../../../src/utils/thread.h:61] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:63] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~thread_cond is both virtual and inline

[../../../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[../../../../src/netmanager/ConnectionInfo.h:9] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class ConnectionInfo has no explicit destructor, and contains pointer members:
       last_stream
       negotiate
       connection_info

[../../../../src/netmanager/ConnectionInfo.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class ConnectionInfo:
       last_stream
       negotiate
       connection_info

[../../../../src/messmanager/Message.h:3] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../../src/netmanager/StatusMessage.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class StatusMessage:
       status
       id
       expl

[../../../../src/netmanager/StatusMessage.h:21] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function StatusMessage overloaded at:
       [../../../../src/netmanager/StatusMessage.h:21]
       [../../../../src/netmanager/StatusMessage.h:25]

[../../../../src/netmanager/StatusMessage.h:27] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/netmanager/protocols/ProtocolHandler.h:13] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function HowManyInstances is both virtual and inline

[../../../../src/netmanager/protocols/ProtocolHandler.h:16] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function HandlesURL is both virtual and inline

[../../../../src/netmanager/protocols/ProtocolHandler.h:28] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function NegotiatCB is both virtual and inline

[../../../../src/netmanager/protocols/ProtocolHandler.h:43] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function GetStatus is both virtual and inline

[../../../../src/netmanager/protocols/ProtocolHandler.h:43] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/netmanager/protocols/ProtocolHandler.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function Stop is both virtual and inline

[../../../../src/netmanager/protocols/Url.h:18] Call delete on pointer members in destructors
    Possible violation: Effective C++ item 6
    Class Url contains pointer members not obviously deleted in destructor:
       url
       scheme
       user
       auth
       host
       path
       params
       query
       fragment

[../../../../src/netmanager/protocols/Url.h:18] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Url:
       url
       scheme
       user
       auth
       host
       path
       params
       query
       fragment
       port
       valid
       relative

[../../../../src/netmanager/protocols/Url.h:60] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~Url is both virtual and inline

[../../../../src/netmanager/protocols/Url.h:62] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:63] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:64] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:65] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:66] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:67] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:68] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:69] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:70] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/https/HTTPSUrl.h:17] Avoid calling virtual functions from constructors and destructors
    Severe violation: Meyers-Klaus item 13
    Virtual function PostConstructor called.

[../../../../src/netmanager/protocols/http/HTTPUrl.h:16] Avoid calling virtual functions from constructors and destructors
    Severe violation: Meyers-Klaus item 13
    Virtual function PostConstructor called.

[../../../../src/netmanager/protocols/http/HTTPRequest.h:56] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function Send is both virtual and inline

[../../../../src/netmanager/protocols/http/HTTPDate.h:34] Avoid member functions that return pointers or references to members less accessible than themselves
    Violation: Effective C++ item 30

[../../../../src/netmanager/protocols/http/HTTPResponse.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HTTPResponse:
       State
       WaitUntil

[../../../../src/netmanager/protocols/http/HTTPHandler.h:89] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class http_file:
       id
       res
       req
       Info
       mgroup
       next

[../../../../src/netmanager/protocols/http/HTTPHandler.h:104] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/netmanager/protocols/http/HTTPHandler.h:104] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/netmanager/protocols/http/HTTPHandler.h:104] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/netmanager/protocols/http/HTTPHandler.h:104] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/netmanager/protocols/http/HTTPHandler.h:193] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/netmanager/protocols/http/HTTPHandler.h:195] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.h:61] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class https_file:
       id
       res
       req
       Info
       mgroup
       next

[HTTPSHandler.h:76] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.h:76] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.h:76] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.h:76] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.h:149] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.h:151] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/messmanager/MessageReceiver.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../../src/messmanager/MessageStuff.h:5] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../../src/messmanager/MessageStuff.h:19] Have operator= return a reference to *this
    Severe violation: Effective C++ item 15

[../../../../src/messmanager/MessageStuff.h:19] Assign to all data members in operator=
    Possible severe violation: Effective C++ item 16
    Members not assigned:
       recipients

[../../../../src/messmanager/MessageStuff.h:26] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class Interest has no explicit destructor, and contains pointer members:
       obj
       func
       sender_

[../../../../src/messmanager/MessageStuff.h:43] Distinguish between prefix and postfix forms of increment and decrement
    Violation: More Effective C++ item 6
    Prefix form is recommended here

[../../../../src/messages/network/../mMessage.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../../src/messages/network/../mMessage.h:6] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class mMessage:
       theSender

[../../../../src/messages/network/../mMessage.h:10] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/messages/network/mFetchURL.h:3] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class mFetchURL has no explicit destructor, and contains pointer members:
       url
       parent

[../../../../src/messages/network/mFetchURL.h:3] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class mFetchURL:
       id
       url
       parent
       mgroup

[../../../../src/messages/network/mNewID.h:4] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class mNewID:
       new_id

[../../../../src/netmanager/DataMessage.h:10] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class DataMessage:
       data
       length
       id

[../../../../src/netmanager/TransferFilter.h:15] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class TransferFilter has no explicit destructor, and contains pointer members:
       next

[../../../../src/netmanager/TransferFilter.h:15] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../../src/netmanager/TransferFilter.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class TransferFilter:
       mgroup
       id
       next

[../../../../src/netmanager/TransferFilter.h:24] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/netmanager/TransferFilter.h:27] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function setNextFilter is both virtual and inline

[../../../../src/netmanager/netmanager.h:116] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function FetchURL_b overloaded at:
       [../../../../src/netmanager/netmanager.h:116]
       [../../../../src/netmanager/netmanager.h:118]

[../../../../src/netmanager/netmanager.h:130] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function FetchURL overloaded at:
       [../../../../src/netmanager/netmanager.h:130]
       [../../../../src/netmanager/netmanager.h:131]

[../../../../src/netmanager/netmanager.h:146] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function PostURL overloaded at:
       [../../../../src/netmanager/netmanager.h:146]
       [../../../../src/netmanager/netmanager.h:147]

[../../../../src/netmanager/netmanager.h:154] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function PutURL overloaded at:
       [../../../../src/netmanager/netmanager.h:154]
       [../../../../src/netmanager/netmanager.h:155]

[../../../../src/netmanager/HTTPNegotiateFilter.h:10] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class HTTPNegotiateFilter has no explicit destructor, and contains pointer members:
       handler

[HTTPSHandler.cc:32] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.cc:33] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.cc:65] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.cc:65] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.cc:71] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.cc:76] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.cc:110] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.cc:110] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.cc:118] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.cc:120] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.cc:121] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.cc:128] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.cc:131] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.cc:133] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.cc:139] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.cc:149] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[HTTPSHandler.cc:215] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.cc:257] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.cc:258] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.cc:260] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.cc:261] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.cc:264] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[HTTPSHandler.cc:266] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[HTTPSHandler.cc:267] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.cc:273] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.cc:276] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.cc:289] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[HTTPSHandler.cc:328] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.cc:341] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.cc:346] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.cc:362] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.cc:375] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.cc:405] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.cc:405] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.cc:405] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTTPSHandler.cc:405] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/netmanager/protocols/Url.h:18] Call delete on pointer members in destructors
    Possible violation: Effective C++ item 6
    Class Url contains pointer members not obviously deleted in destructor:
       url
       scheme
       user
       auth
       host
       path
       params
       query
       fragment

[../../../../src/netmanager/protocols/Url.h:18] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Url:
       url
       scheme
       user
       auth
       host
       path
       params
       query
       fragment
       port
       valid
       relative

[../../../../src/netmanager/protocols/Url.h:60] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~Url is both virtual and inline

[../../../../src/netmanager/protocols/Url.h:62] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:63] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:64] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:65] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:66] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:67] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:68] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:69] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:70] Use delete instead of free
    Violation: Effective C++ item 3

[HTTPSUrl.h:17] Avoid calling virtual functions from constructors and destructors
    Severe violation: Meyers-Klaus item 13
    Virtual function PostConstructor called.

[../../../../src/netmanager/Stream.h:12] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../../src/netmanager/Stream.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReadBlock is both virtual and inline

[../../../../src/utils/thread.h:27] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    User-defined conversion should be made explicit

[../../../../src/utils/thread.h:28] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    User-defined conversion should be made explicit

[../../../../src/utils/thread.h:34] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/utils/thread.h:38] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function lock returns object by value

[../../../../src/utils/thread.h:38] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:39] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function unlock returns object by value

[../../../../src/utils/thread.h:39] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:41] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function trylock returns object by value

[../../../../src/utils/thread.h:41] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:43] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~thread_mutex is both virtual and inline

[../../../../src/utils/thread.h:55] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/utils/thread.h:59] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function broadcast returns object by value

[../../../../src/utils/thread.h:59] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:60] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function signal returns object by value

[../../../../src/utils/thread.h:60] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:61] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function wait returns object by value

[../../../../src/utils/thread.h:61] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../../../src/utils/thread.h:63] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~thread_cond is both virtual and inline

[../../../../src/netmanager/protocols/Url.h:18] Call delete on pointer members in destructors
    Possible violation: Effective C++ item 6
    Class Url contains pointer members not obviously deleted in destructor:
       url
       scheme
       user
       auth
       host
       path
       params
       query
       fragment

[../../../../src/netmanager/protocols/Url.h:18] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Url:
       url
       scheme
       user
       auth
       host
       path
       params
       query
       fragment
       port
       valid
       relative

[../../../../src/netmanager/protocols/Url.h:60] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~Url is both virtual and inline

[../../../../src/netmanager/protocols/Url.h:62] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:63] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:64] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:65] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:66] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:67] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:68] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:69] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/Url.h:70] Use delete instead of free
    Violation: Effective C++ item 3

[../../../../src/netmanager/protocols/http/HTTPUrl.h:16] Avoid calling virtual functions from constructors and destructors
    Severe violation: Meyers-Klaus item 13
    Virtual function PostConstructor called.

[../../../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[../../../../src/netmanager/ConnectionInfo.h:9] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class ConnectionInfo has no explicit destructor, and contains pointer members:
       last_stream
       negotiate
       connection_info

[../../../../src/netmanager/ConnectionInfo.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class ConnectionInfo:
       last_stream
       negotiate
       connection_info

[../../../../src/messmanager/Message.h:3] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../../src/netmanager/StatusMessage.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class StatusMessage:
       status
       id
       expl

[../../../../src/netmanager/StatusMessage.h:21] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function StatusMessage overloaded at:
       [../../../../src/netmanager/StatusMessage.h:21]
       [../../../../src/netmanager/StatusMessage.h:25]

[../../../../src/netmanager/StatusMessage.h:27] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/netmanager/protocols/ProtocolHandler.h:13] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function HowManyInstances is both virtual and inline

[../../../../src/netmanager/protocols/ProtocolHandler.h:16] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function HandlesURL is both virtual and inline

[../../../../src/netmanager/protocols/ProtocolHandler.h:28] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function NegotiatCB is both virtual and inline

[../../../../src/netmanager/protocols/ProtocolHandler.h:43] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function GetStatus is both virtual and inline

[../../../../src/netmanager/protocols/ProtocolHandler.h:43] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/netmanager/protocols/ProtocolHandler.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function Stop is both virtual and inline

[../../../../src/netmanager/protocols/https/HTTPSUrl.h:17] Avoid calling virtual functions from constructors and destructors
    Severe violation: Meyers-Klaus item 13
    Virtual function PostConstructor called.

[../../../../src/netmanager/protocols/http/HTTPRequest.h:56] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function Send is both virtual and inline

[../../../../src/netmanager/protocols/http/HTTPDate.h:34] Avoid member functions that return pointers or references to members less accessible than themselves
    Violation: Effective C++ item 30

[../../../../src/netmanager/protocols/http/HTTPResponse.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HTTPResponse:
       State
       WaitUntil

[../../../../src/netmanager/protocols/http/HTTPHandler.h:89] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class http_file:
       id
       res
       req
       Info
       mgroup
       next

[../../../../src/netmanager/protocols/http/HTTPHandler.h:104] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/netmanager/protocols/http/HTTPHandler.h:104] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/netmanager/protocols/http/HTTPHandler.h:104] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/netmanager/protocols/http/HTTPHandler.h:104] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/netmanager/protocols/http/HTTPHandler.h:193] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/netmanager/protocols/http/HTTPHandler.h:195] Prefer C++-style casts
    Violation: More Effective C++ item 2

[ProxyHandler.h:27] Call delete on pointer members in destructors
    Possible violation: Effective C++ item 6
    Class ProxyHandler contains pointer members not obviously deleted in destructor:
       protocol_HTTP
       proxy_host

[ProxyHandler.h:46] Prefer C++-style casts
    Violation: More Effective C++ item 2

[ProxyHandler.h:48] Prefer C++-style casts
    Violation: More Effective C++ item 2

[ProxyHandler.cc:77] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../src/netmanager/Stream.h:12] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../src/netmanager/Stream.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReadBlock is both virtual and inline

[../../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[../../../src/netmanager/ConnectionInfo.h:9] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class ConnectionInfo has no explicit destructor, and contains pointer members:
       last_stream
       negotiate
       connection_info

[../../../src/netmanager/ConnectionInfo.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class ConnectionInfo:
       last_stream
       negotiate
       connection_info

[../../../src/messmanager/Message.h:3] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../src/netmanager/StatusMessage.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class StatusMessage:
       status
       id
       expl

[../../../src/netmanager/StatusMessage.h:21] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function StatusMessage overloaded at:
       [../../../src/netmanager/StatusMessage.h:21]
       [../../../src/netmanager/StatusMessage.h:25]

[../../../src/netmanager/StatusMessage.h:27] Prefer C++-style casts
    Violation: More Effective C++ item 2

[ProtocolHandler.h:13] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function HowManyInstances is both virtual and inline

[ProtocolHandler.h:16] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function HandlesURL is both virtual and inline

[ProtocolHandler.h:28] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function NegotiatCB is both virtual and inline

[ProtocolHandler.h:43] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function GetStatus is both virtual and inline

[ProtocolHandler.h:43] Prefer C++-style casts
    Violation: More Effective C++ item 2

[ProtocolHandler.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function Stop is both virtual and inline

[Url.h:18] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Url:
       url
       scheme
       user
       auth
       host
       path
       params
       query
       fragment
       port
       valid
       relative

[Url.h:60] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~Url is both virtual and inline

[Url.h:62] Use delete instead of free
    Violation: Effective C++ item 3

[Url.h:63] Use delete instead of free
    Violation: Effective C++ item 3

[Url.h:64] Use delete instead of free
    Violation: Effective C++ item 3

[Url.h:65] Use delete instead of free
    Violation: Effective C++ item 3

[Url.h:66] Use delete instead of free
    Violation: Effective C++ item 3

[Url.h:67] Use delete instead of free
    Violation: Effective C++ item 3

[Url.h:68] Use delete instead of free
    Violation: Effective C++ item 3

[Url.h:69] Use delete instead of free
    Violation: Effective C++ item 3

[Url.h:70] Use delete instead of free
    Violation: Effective C++ item 3

[Url.cc:19] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Url.cc:19] Use new instead of malloc
    Violation: Effective C++ item 3

[Url.cc:20] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Url.cc:57] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:65] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Url.cc:65] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Url.cc:68] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:94] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Url.cc:100] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Url.cc:100] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Url.cc:102] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Url.cc:118] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Url.cc:118] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Url.cc:123] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Url.cc:160] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Url.cc:175] Use delete instead of free
    Violation: Effective C++ item 3

[Url.cc:180] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:181] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:182] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:204] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:212] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:220] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:260] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:311] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:312] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:313] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:314] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:315] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:317] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:318] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:319] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:320] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:325] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Url.cc:340] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Url.cc:340] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Url.cc:340] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Url.cc:340] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Url.cc:342] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Url.cc:342] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Url.cc:342] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Url.cc:342] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Url.cc:381] Use delete instead of free
    Violation: Effective C++ item 3

[Url.cc:382] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:390] Use delete instead of free
    Violation: Effective C++ item 3

[Url.cc:390] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:391] Use delete instead of free
    Violation: Effective C++ item 3

[Url.cc:391] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:392] Use delete instead of free
    Violation: Effective C++ item 3

[Url.cc:392] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:403] Use delete instead of free
    Violation: Effective C++ item 3

[Url.cc:403] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:405] Use delete instead of free
    Violation: Effective C++ item 3

[Url.cc:405] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:407] Use delete instead of free
    Violation: Effective C++ item 3

[Url.cc:407] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:425] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Url.cc:425] Use new instead of malloc
    Violation: Effective C++ item 3

[Url.cc:429] Use delete instead of free
    Violation: Effective C++ item 3

[Url.cc:440] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:441] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:442] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:443] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:444] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:445] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:446] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:447] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Url.cc:448] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[../../src/messmanager/MessageStuff.h:5] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/messmanager/MessageStuff.h:19] Have operator= return a reference to *this
    Severe violation: Effective C++ item 15

[../../src/messmanager/MessageStuff.h:19] Assign to all data members in operator=
    Possible severe violation: Effective C++ item 16
    Members not assigned:
       recipients

[../../src/messmanager/MessageStuff.h:26] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class Interest has no explicit destructor, and contains pointer members:
       obj
       func
       sender_

[../../src/messmanager/MessageStuff.h:43] Distinguish between prefix and postfix forms of increment and decrement
    Violation: More Effective C++ item 6
    Prefix form is recommended here

[../../src/messages/network/../mMessage.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/messages/network/../mMessage.h:6] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class mMessage:
       theSender

[../../src/messages/network/../mMessage.h:10] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/messages/network/mFetchURL.h:3] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class mFetchURL has no explicit destructor, and contains pointer members:
       url
       parent

[../../src/messages/network/mFetchURL.h:3] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class mFetchURL:
       id
       url
       parent
       mgroup

[../../src/messages/network/mNewID.h:4] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class mNewID:
       new_id

[../../src/netmanager/Stream.h:12] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/netmanager/Stream.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReadBlock is both virtual and inline

[../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[../../src/netmanager/ConnectionInfo.h:9] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class ConnectionInfo has no explicit destructor, and contains pointer members:
       last_stream
       negotiate
       connection_info

[../../src/netmanager/ConnectionInfo.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class ConnectionInfo:
       last_stream
       negotiate
       connection_info

[../../src/messmanager/Message.h:3] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/netmanager/StatusMessage.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class StatusMessage:
       status
       id
       expl

[../../src/netmanager/StatusMessage.h:21] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function StatusMessage overloaded at:
       [../../src/netmanager/StatusMessage.h:21]
       [../../src/netmanager/StatusMessage.h:25]

[../../src/netmanager/StatusMessage.h:27] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/netmanager/protocols/ProtocolHandler.h:13] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function HowManyInstances is both virtual and inline

[../../src/netmanager/protocols/ProtocolHandler.h:16] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function HandlesURL is both virtual and inline

[../../src/netmanager/protocols/ProtocolHandler.h:28] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function NegotiatCB is both virtual and inline

[../../src/netmanager/protocols/ProtocolHandler.h:43] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function GetStatus is both virtual and inline

[../../src/netmanager/protocols/ProtocolHandler.h:43] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/netmanager/protocols/ProtocolHandler.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function Stop is both virtual and inline

[../../src/messmanager/MessageReceiver.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/utils/thread.h:27] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    User-defined conversion should be made explicit

[../../src/utils/thread.h:28] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    User-defined conversion should be made explicit

[../../src/utils/thread.h:34] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/utils/thread.h:38] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function lock returns object by value

[../../src/utils/thread.h:38] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:39] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function unlock returns object by value

[../../src/utils/thread.h:39] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:41] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function trylock returns object by value

[../../src/utils/thread.h:41] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:43] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~thread_mutex is both virtual and inline

[../../src/utils/thread.h:55] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/utils/thread.h:59] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function broadcast returns object by value

[../../src/utils/thread.h:59] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:60] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function signal returns object by value

[../../src/utils/thread.h:60] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:61] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function wait returns object by value

[../../src/utils/thread.h:61] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:63] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~thread_cond is both virtual and inline

[../../src/netmanager/DataMessage.h:10] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class DataMessage:
       data
       length
       id

[../../src/netmanager/TransferFilter.h:15] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class TransferFilter has no explicit destructor, and contains pointer members:
       next

[../../src/netmanager/TransferFilter.h:15] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/netmanager/TransferFilter.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class TransferFilter:
       mgroup
       id
       next

[../../src/netmanager/TransferFilter.h:24] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/netmanager/TransferFilter.h:27] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function setNextFilter is both virtual and inline

[netmanager.h:86] Call delete on pointer members in destructors
    Possible violation: Effective C++ item 6
    Class NetworkManager contains pointer members not obviously deleted in destructor:
       c_mutex
       conn
       mythread
       interestFetchURLMessage_
       interestNewIDMessage_

[netmanager.h:116] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function FetchURL_b overloaded at:
       [netmanager.h:116]
       [netmanager.h:118]

[netmanager.h:130] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function FetchURL overloaded at:
       [netmanager.h:130]
       [netmanager.h:131]

[netmanager.h:146] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function PostURL overloaded at:
       [netmanager.h:146]
       [netmanager.h:147]

[netmanager.h:154] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function PutURL overloaded at:
       [netmanager.h:154]
       [netmanager.h:155]

[../../src/messmanager/ContentMessage.h:6] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class ContentMessage:
       content
       id

[../../src/netmanager/protocols/Url.h:18] Call delete on pointer members in destructors
    Possible violation: Effective C++ item 6
    Class Url contains pointer members not obviously deleted in destructor:
       url
       scheme
       user
       auth
       host
       path
       params
       query
       fragment

[../../src/netmanager/protocols/Url.h:18] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Url:
       url
       scheme
       user
       auth
       host
       path
       params
       query
       fragment
       port
       valid
       relative

[../../src/netmanager/protocols/Url.h:60] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~Url is both virtual and inline

[../../src/netmanager/protocols/Url.h:62] Use delete instead of free
    Violation: Effective C++ item 3

[../../src/netmanager/protocols/Url.h:63] Use delete instead of free
    Violation: Effective C++ item 3

[../../src/netmanager/protocols/Url.h:64] Use delete instead of free
    Violation: Effective C++ item 3

[../../src/netmanager/protocols/Url.h:65] Use delete instead of free
    Violation: Effective C++ item 3

[../../src/netmanager/protocols/Url.h:66] Use delete instead of free
    Violation: Effective C++ item 3

[../../src/netmanager/protocols/Url.h:67] Use delete instead of free
    Violation: Effective C++ item 3

[../../src/netmanager/protocols/Url.h:68] Use delete instead of free
    Violation: Effective C++ item 3

[../../src/netmanager/protocols/Url.h:69] Use delete instead of free
    Violation: Effective C++ item 3

[../../src/netmanager/protocols/Url.h:70] Use delete instead of free
    Violation: Effective C++ item 3

[../../src/netmanager/protocols/http/HTTPUrl.h:16] Avoid calling virtual functions from constructors and destructors
    Severe violation: Meyers-Klaus item 13
    Virtual function PostConstructor called.

[../../src/netmanager/protocols/https/HTTPSUrl.h:17] Avoid calling virtual functions from constructors and destructors
    Severe violation: Meyers-Klaus item 13
    Virtual function PostConstructor called.

[../../src/netmanager/protocols/http/HTTPRequest.h:56] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function Send is both virtual and inline

[../../src/netmanager/protocols/http/HTTPDate.h:34] Avoid member functions that return pointers or references to members less accessible than themselves
    Violation: Effective C++ item 30

[../../src/netmanager/protocols/http/HTTPResponse.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HTTPResponse:
       State
       WaitUntil

[../../src/netmanager/protocols/http/HTTPHandler.h:89] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class http_file:
       id
       res
       req
       Info
       mgroup
       next

[../../src/netmanager/protocols/http/HTTPHandler.h:104] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/netmanager/protocols/http/HTTPHandler.h:104] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/netmanager/protocols/http/HTTPHandler.h:104] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/netmanager/protocols/http/HTTPHandler.h:104] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/netmanager/protocols/http/HTTPHandler.h:193] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/netmanager/protocols/http/HTTPHandler.h:195] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/netmanager/protocols/proxy/ProxyHandler.h:46] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/netmanager/protocols/proxy/ProxyHandler.h:48] Prefer C++-style casts
    Violation: More Effective C++ item 2

[netmanager.cc:61] Prefer C++-style casts
    Violation: More Effective C++ item 2

[netmanager.cc:61] Use new instead of malloc
    Violation: Effective C++ item 3

[netmanager.cc:65] Prefer C++-style casts
    Violation: More Effective C++ item 2

[netmanager.cc:65] Use new instead of malloc
    Violation: Effective C++ item 3

[netmanager.cc:79] Prefer C++-style casts
    Violation: More Effective C++ item 2

[netmanager.cc:84] Prefer C++-style casts
    Violation: More Effective C++ item 2

[netmanager.cc:85] Prefer C++-style casts
    Violation: More Effective C++ item 2

[netmanager.cc:87] Prefer C++-style casts
    Violation: More Effective C++ item 2

[netmanager.cc:150] Prefer C++-style casts
    Violation: More Effective C++ item 2

[netmanager.cc:172] Prefer C++-style casts
    Violation: More Effective C++ item 2

[netmanager.cc:175] Prefer C++-style casts
    Violation: More Effective C++ item 2

[netmanager.cc:211] Prefer C++-style casts
    Violation: More Effective C++ item 2

[netmanager.cc:214] Prefer C++-style casts
    Violation: More Effective C++ item 2

[netmanager.cc:229] Prefer C++-style casts
    Violation: More Effective C++ item 2

[netmanager.cc:232] Prefer C++-style casts
    Violation: More Effective C++ item 2

[netmanager.cc:247] Prefer C++-style casts
    Violation: More Effective C++ item 2

[netmanager.cc:250] Prefer C++-style casts
    Violation: More Effective C++ item 2

[netmanager.cc:298] Prefer C++-style casts
    Violation: More Effective C++ item 2

[netmanager.cc:307] Prefer C++-style casts
    Violation: More Effective C++ item 2

[netmanager.cc:321] Prefer C++-style casts
    Violation: More Effective C++ item 2

[netmanager.cc:341] Prefer C++-style casts
    Violation: More Effective C++ item 2

[netmanager.cc:345] Prefer C++-style casts
    Violation: More Effective C++ item 2

[netmanager.cc:345] Use new instead of malloc
    Violation: Effective C++ item 3

[netmanager.cc:348] Prefer C++-style casts
    Violation: More Effective C++ item 2

[netmanager.cc:353] Prefer C++-style casts
    Violation: More Effective C++ item 2

[netmanager.cc:353] Use new instead of malloc
    Violation: Effective C++ item 3

[netmanager.cc:375] Prefer C++-style casts
    Violation: More Effective C++ item 2

[netmanager.cc:375] Prefer C++-style casts
    Violation: More Effective C++ item 2

[netmanager.cc:375] Prefer C++-style casts
    Violation: More Effective C++ item 2

[netmanager.cc:452] Prefer C++-style casts
    Violation: More Effective C++ item 2

[netmanager.cc:464] Prefer C++-style casts
    Violation: More Effective C++ item 2

[netmanager.cc:495] Prefer C++-style casts
    Violation: More Effective C++ item 2

[netmanager.cc:501] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Stream.h:12] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[Stream.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReadBlock is both virtual and inline

[../utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[Stream.cc:14] Use new instead of malloc
    Violation: Effective C++ item 3

[Stream.cc:52] Use delete instead of free
    Violation: Effective C++ item 3

[../../src/messmanager/Message.h:3] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/netmanager/DataMessage.h:10] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class DataMessage:
       data
       length
       id

[../../src/messmanager/MessageReceiver.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/netmanager/TransferFilter.h:15] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class TransferFilter has no explicit destructor, and contains pointer members:
       next

[../../src/netmanager/TransferFilter.h:15] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/netmanager/TransferFilter.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class TransferFilter:
       mgroup
       id
       next

[../../src/netmanager/TransferFilter.h:24] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/netmanager/TransferFilter.h:27] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function setNextFilter is both virtual and inline

[../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[TransferFilter.cc:13] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/messmanager/Message.h:3] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/netmanager/DataMessage.h:10] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class DataMessage:
       data
       length
       id

[../../src/messmanager/MessageReceiver.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/netmanager/TransferFilter.h:15] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class TransferFilter has no explicit destructor, and contains pointer members:
       next

[../../src/netmanager/TransferFilter.h:15] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/netmanager/TransferFilter.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class TransferFilter:
       mgroup
       id
       next

[../../src/netmanager/TransferFilter.h:24] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/netmanager/TransferFilter.h:27] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function setNextFilter is both virtual and inline

[../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[../../src/messmanager/Message.h:3] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/netmanager/DataMessage.h:10] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class DataMessage:
       data
       length
       id

[../../src/messmanager/MessageReceiver.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/netmanager/TransferFilter.h:15] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class TransferFilter has no explicit destructor, and contains pointer members:
       next

[../../src/netmanager/TransferFilter.h:15] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/netmanager/TransferFilter.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class TransferFilter:
       mgroup
       id
       next

[../../src/netmanager/TransferFilter.h:24] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/netmanager/TransferFilter.h:27] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function setNextFilter is both virtual and inline

[../../src/netmanager/Stream.h:12] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/netmanager/Stream.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReadBlock is both virtual and inline

[../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[../../src/netmanager/ConnectionInfo.h:9] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class ConnectionInfo has no explicit destructor, and contains pointer members:
       last_stream
       negotiate
       connection_info

[../../src/netmanager/ConnectionInfo.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class ConnectionInfo:
       last_stream
       negotiate
       connection_info

[../../src/netmanager/StatusMessage.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class StatusMessage:
       status
       id
       expl

[../../src/netmanager/StatusMessage.h:21] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function StatusMessage overloaded at:
       [../../src/netmanager/StatusMessage.h:21]
       [../../src/netmanager/StatusMessage.h:25]

[../../src/netmanager/StatusMessage.h:27] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/netmanager/protocols/ProtocolHandler.h:13] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function HowManyInstances is both virtual and inline

[../../src/netmanager/protocols/ProtocolHandler.h:16] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function HandlesURL is both virtual and inline

[../../src/netmanager/protocols/ProtocolHandler.h:28] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function NegotiatCB is both virtual and inline

[../../src/netmanager/protocols/ProtocolHandler.h:43] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function GetStatus is both virtual and inline

[../../src/netmanager/protocols/ProtocolHandler.h:43] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/netmanager/protocols/ProtocolHandler.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function Stop is both virtual and inline

[HTTPNegotiateFilter.cc:12] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/messmanager/Message.h:3] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/messmanager/MessageReceiver.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/messmanager/ContentMessage.h:6] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class ContentMessage:
       content
       id

[../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[../../src/netmanager/Stream.h:12] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/netmanager/Stream.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReadBlock is both virtual and inline

[../../src/utils/thread.h:27] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    User-defined conversion should be made explicit

[../../src/utils/thread.h:28] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    User-defined conversion should be made explicit

[../../src/utils/thread.h:34] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/utils/thread.h:38] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function lock returns object by value

[../../src/utils/thread.h:38] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:39] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function unlock returns object by value

[../../src/utils/thread.h:39] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:41] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function trylock returns object by value

[../../src/utils/thread.h:41] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:43] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~thread_mutex is both virtual and inline

[../../src/utils/thread.h:55] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/utils/thread.h:59] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function broadcast returns object by value

[../../src/utils/thread.h:59] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:60] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function signal returns object by value

[../../src/utils/thread.h:60] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:61] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function wait returns object by value

[../../src/utils/thread.h:61] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/thread.h:63] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ~thread_cond is both virtual and inline

[../../src/messmanager/MessageStuff.h:5] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/messmanager/MessageStuff.h:19] Have operator= return a reference to *this
    Severe violation: Effective C++ item 15

[../../src/messmanager/MessageStuff.h:19] Assign to all data members in operator=
    Possible severe violation: Effective C++ item 16
    Members not assigned:
       recipients

[../../src/messmanager/MessageStuff.h:26] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class Interest has no explicit destructor, and contains pointer members:
       obj
       func
       sender_

[../../src/messmanager/MessageStuff.h:43] Distinguish between prefix and postfix forms of increment and decrement
    Violation: More Effective C++ item 6
    Prefix form is recommended here

[../../src/messages/network/../mMessage.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/messages/network/../mMessage.h:6] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class mMessage:
       theSender

[../../src/messages/network/../mMessage.h:10] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/messages/network/mFetchURL.h:3] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class mFetchURL has no explicit destructor, and contains pointer members:
       url
       parent

[../../src/messages/network/mFetchURL.h:3] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class mFetchURL:
       id
       url
       parent
       mgroup

[../../src/messages/network/mNewID.h:4] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class mNewID:
       new_id

[../../src/netmanager/ConnectionInfo.h:9] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class ConnectionInfo has no explicit destructor, and contains pointer members:
       last_stream
       negotiate
       connection_info

[../../src/netmanager/ConnectionInfo.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class ConnectionInfo:
       last_stream
       negotiate
       connection_info

[../../src/netmanager/StatusMessage.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class StatusMessage:
       status
       id
       expl

[../../src/netmanager/StatusMessage.h:21] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function StatusMessage overloaded at:
       [../../src/netmanager/StatusMessage.h:21]
       [../../src/netmanager/StatusMessage.h:25]

[../../src/netmanager/StatusMessage.h:27] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/netmanager/protocols/ProtocolHandler.h:13] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function HowManyInstances is both virtual and inline

[../../src/netmanager/protocols/ProtocolHandler.h:16] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function HandlesURL is both virtual and inline

[../../src/netmanager/protocols/ProtocolHandler.h:28] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function NegotiatCB is both virtual and inline

[../../src/netmanager/protocols/ProtocolHandler.h:43] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function GetStatus is both virtual and inline

[../../src/netmanager/protocols/ProtocolHandler.h:43] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/netmanager/protocols/ProtocolHandler.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function Stop is both virtual and inline

[../../src/netmanager/DataMessage.h:10] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class DataMessage:
       data
       length
       id

[../../src/netmanager/TransferFilter.h:15] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class TransferFilter has no explicit destructor, and contains pointer members:
       next

[../../src/netmanager/TransferFilter.h:15] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/netmanager/TransferFilter.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class TransferFilter:
       mgroup
       id
       next

[../../src/netmanager/TransferFilter.h:24] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/netmanager/TransferFilter.h:27] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function setNextFilter is both virtual and inline

[../../src/netmanager/netmanager.h:116] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function FetchURL_b overloaded at:
       [../../src/netmanager/netmanager.h:116]
       [../../src/netmanager/netmanager.h:118]

[../../src/netmanager/netmanager.h:130] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function FetchURL overloaded at:
       [../../src/netmanager/netmanager.h:130]
       [../../src/netmanager/netmanager.h:131]

[../../src/netmanager/netmanager.h:146] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function PostURL overloaded at:
       [../../src/netmanager/netmanager.h:146]
       [../../src/netmanager/netmanager.h:147]

[../../src/netmanager/netmanager.h:154] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function PutURL overloaded at:
       [../../src/netmanager/netmanager.h:154]
       [../../src/netmanager/netmanager.h:155]

[test_net.cc:73] Prefer C++-style casts
    Violation: More Effective C++ item 2

[test_net.cc:92] Prefer C++-style casts
    Violation: More Effective C++ item 2

[test_net.cc:102] Prefer C++-style casts
    Violation: More Effective C++ item 2

[tools.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Point:
       dx
       dy

[tools.h:23] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Rect:
       x
       y
       w
       h

[tools.h:47] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function reunion returns object by value

[tools.h:55] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function getPosition returns object by value

[tools.h:56] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function getSize returns object by value

[Tag.h:31] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[Tag.h:32] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isReplaced is both virtual and inline

[Tag.h:34] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Tag.h:61] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[Tag.h:75] Avoid returning "handles" to internal data from const member functions
    Severe violation: Effective C++ item 29

[Tag.h:79] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function SetAttributes is both virtual and inline

[Tag.h:80] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[DisplayManager.h:9] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[DisplayManager.h:22] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class DisplayManager has no explicit destructor, and contains pointer members:
       list

[gtkTagDisplay.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Context:
       font
       AvailableWidth
       dx
       dy
       gc
       r
       widget
       vp

[gtkTagDisplay.h:30] Define a copy constructor and operator= for classes with dynamically allocated memory
    Severe violation: Effective C++ item 11
    Class gtkGenericTag missing assignment operator and copy constructor.

[gtkTagDisplay.h:30] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class gtkGenericTag:
       at

[gtkTagDisplay.h:60] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isWidget is both virtual and inline

[gtkTagDisplay.h:80] Pass objects by reference instead of by value
    Violation: Effective C++ item 22
    Parameter sugested of function realize passed by value

[gtkTagDisplay.h:80] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function realize returns object by value

[gtkTagDisplay.h:87] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class gtkTagDisplay has no explicit destructor, and contains pointer members:
       table
       vadj
       vscroll
       hadj
       hscroll
       viewport
       gc
       cm
       fc
       exposed
       body

[gtkTagDisplay.h:87] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class gtkTagDisplay:
       body

[gtkTagDisplay.h:119] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function getBody is both virtual and inline

[gtkTagDisplay.h:119] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[gtkGenericTag.cc:54] Pass objects by reference instead of by value
    Violation: Effective C++ item 22
    Parameter sugested of function gtkReplacedTag ::realize passed by value

[gtkGenericTag.cc:54] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function gtkReplacedTag ::realize returns object by value

[tools.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Point:
       dx
       dy

[tools.h:23] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Rect:
       x
       y
       w
       h

[tools.h:47] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function reunion returns object by value

[tools.h:55] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function getPosition returns object by value

[tools.h:56] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function getSize returns object by value

[Tag.h:15] Call delete on pointer members in destructors
    Possible violation: Effective C++ item 6
    Class Node contains pointer members not obviously deleted in destructor:
       sibling

[Tag.h:31] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[Tag.h:32] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isReplaced is both virtual and inline

[Tag.h:34] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Tag.cc:29] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Tag.cc:36] Avoid returning "handles" to internal data from const member functions
    Severe violation: Effective C++ item 29

[Tag.cc:52] Use new instead of malloc (strdup)
    Violation: Effective C++ item 3

[Tag.cc:60] Use delete instead of free
    Violation: Effective C++ item 3

[Tag.h:61] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[Tag.cc:68] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Tag.cc:74] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Tag.h:75] Avoid returning "handles" to internal data from const member functions
    Severe violation: Effective C++ item 29

[Tag.h:79] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function SetAttributes is both virtual and inline

[Tag.h:80] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[Tag.cc:87] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Tag.cc:94] Avoid returning "handles" to internal data from const member functions
    Severe violation: Effective C++ item 29

[../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[Tag.cc:101] Prefer C++-style casts
    Violation: More Effective C++ item 2

[tools.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Point:
       dx
       dy

[tools.h:23] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Rect:
       x
       y
       w
       h

[tools.h:47] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function reunion returns object by value

[tools.h:55] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function getPosition returns object by value

[tools.h:56] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function getSize returns object by value

[Tag.h:31] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[Tag.h:32] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isReplaced is both virtual and inline

[Tag.h:34] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Tag.h:61] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[Tag.h:75] Avoid returning "handles" to internal data from const member functions
    Severe violation: Effective C++ item 29

[Tag.h:79] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function SetAttributes is both virtual and inline

[Tag.h:80] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[DisplayManager.h:9] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[DisplayManager.h:22] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class DisplayManager has no explicit destructor, and contains pointer members:
       list

[gtkTagDisplay.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Context:
       font
       AvailableWidth
       dx
       dy
       gc
       r
       widget
       vp

[gtkTagDisplay.h:30] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class gtkGenericTag:
       at

[gtkTagDisplay.h:60] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isWidget is both virtual and inline

[gtkTagDisplay.h:66] Pass objects by reference instead of by value
    Violation: Effective C++ item 22
    Parameter sugested of function realize passed by value

[gtkTagDisplay.h:66] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function realize returns object by value

[gtkTagDisplay.h:80] Pass objects by reference instead of by value
    Violation: Effective C++ item 22
    Parameter sugested of function realize passed by value

[gtkTagDisplay.h:80] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function realize returns object by value

[gtkTagDisplay.h:87] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class gtkTagDisplay has no explicit destructor, and contains pointer members:
       table
       vadj
       vscroll
       hadj
       hscroll
       viewport
       gc
       cm
       fc
       exposed
       body

[gtkTagDisplay.h:87] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class gtkTagDisplay:
       body

[gtkTagDisplay.h:119] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function getBody is both virtual and inline

[gtkTagDisplay.h:119] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[gtkImage.h:30] Pass objects by reference instead of by value
    Violation: Effective C++ item 22
    Parameter sugested of function realize passed by value

[gtkImage.h:30] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function realize returns object by value

[../../src/filtermanager/Filter.h:11] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/filtermanager/Filter.h:18] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isA is both virtual and inline

[../../src/filtermanager/Filter.h:19] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ProcessBlock is both virtual and inline

[../../src/netmanager/Stream.h:12] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/netmanager/Stream.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReadBlock is both virtual and inline

[../../src/messmanager/Message.h:3] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/messmanager/MessageReceiver.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../src/filtermanager/DtreeInfo.h:8] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class DtreeInfo:
       disp
       tag

[../../src/filtermanager/DtreeFilter.h:13] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isA is both virtual and inline

[../../src/filtermanager/DtreeFilter.h:17] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReceiveMessage is both virtual and inline

[../../src/filtermanager/DtreeFilter.h:18] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function SetData is both virtual and inline

[../../src/filtermanager/DtreeFilter.h:19] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[gtkTagDisplay.cc:23] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[gtkTagDisplay.cc:31] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[gtkTagDisplay.cc:39] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[gtkTagDisplay.cc:47] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[gtkTagDisplay.cc:52] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[gtkTagDisplay.cc:57] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[gtkTagDisplay.cc:62] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[gtkTagDisplay.cc:67] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[gtkTagDisplay.cc:104] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:144] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:145] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:150] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:150] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:152] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:152] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:153] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:153] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:156] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:156] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:156] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:158] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:158] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:158] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:162] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:162] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:167] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:167] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:171] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:171] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:175] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:175] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:175] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:176] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:176] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:179] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:179] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:188] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:193] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:193] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:193] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:193] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:197] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:198] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:204] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:249] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:257] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:265] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:265] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:265] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:265] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:268] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:273] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:275] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:275] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:298] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:329] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:329] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:332] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkTagDisplay.cc:332] Prefer C++-style casts
    Violation: More Effective C++ item 2

[tools.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Point:
       dx
       dy

[tools.h:23] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Rect:
       x
       y
       w
       h

[tools.h:47] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function reunion returns object by value

[tools.h:55] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function getPosition returns object by value

[tools.h:56] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function getSize returns object by value

[Tag.h:31] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[Tag.h:32] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isReplaced is both virtual and inline

[Tag.h:34] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Tag.h:61] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[Tag.h:75] Avoid returning "handles" to internal data from const member functions
    Severe violation: Effective C++ item 29

[Tag.h:79] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function SetAttributes is both virtual and inline

[Tag.h:80] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[DisplayManager.h:9] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[DisplayManager.h:22] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class DisplayManager has no explicit destructor, and contains pointer members:
       list

[gtkTagDisplay.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Context:
       font
       AvailableWidth
       dx
       dy
       gc
       r
       widget
       vp

[gtkTagDisplay.h:30] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class gtkGenericTag:
       at

[gtkTagDisplay.h:60] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isWidget is both virtual and inline

[gtkTagDisplay.h:66] Pass objects by reference instead of by value
    Violation: Effective C++ item 22
    Parameter sugested of function realize passed by value

[gtkTagDisplay.h:66] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function realize returns object by value

[gtkTagDisplay.h:80] Pass objects by reference instead of by value
    Violation: Effective C++ item 22
    Parameter sugested of function realize passed by value

[gtkTagDisplay.h:80] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function realize returns object by value

[gtkTagDisplay.h:87] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class gtkTagDisplay has no explicit destructor, and contains pointer members:
       table
       vadj
       vscroll
       hadj
       hscroll
       viewport
       gc
       cm
       fc
       exposed
       body

[gtkTagDisplay.h:87] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class gtkTagDisplay:
       body

[gtkTagDisplay.h:119] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function getBody is both virtual and inline

[gtkTagDisplay.h:119] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[gtkImage.h:15] Call delete on pointer members in destructors
    Possible violation: Effective C++ item 6
    Class gtkImage contains pointer members not obviously deleted in destructor:
       image
       preview

[../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[gtkImage.cc:34] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkImage.cc:90] Pass objects by reference instead of by value
    Violation: Effective C++ item 22
    Parameter sugested of function gtkImage ::realize passed by value

[gtkImage.cc:90] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function gtkImage ::realize returns object by value

[gtkImage.cc:98] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkImage.cc:98] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkImage.cc:98] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkImage.cc:102] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkImage.cc:111] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkImage.cc:111] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkImage.cc:118] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkImage.cc:118] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkImage.cc:118] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkImage.cc:122] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkImage.cc:122] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkImage.cc:122] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkImage.cc:129] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkImage.cc:129] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkImage.cc:131] Use the same form in corresponding calls to new and delete
    Violation: Effective C++ item 5
    Found new[] with delete.

[gtkImage.cc:140] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkImage.cc:140] Prefer C++-style casts
    Violation: More Effective C++ item 2

[tools.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Point:
       dx
       dy

[tools.h:23] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Rect:
       x
       y
       w
       h

[tools.h:47] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function reunion returns object by value

[tools.h:55] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function getPosition returns object by value

[tools.h:56] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function getSize returns object by value

[Tag.h:31] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[Tag.h:32] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isReplaced is both virtual and inline

[Tag.h:34] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Tag.h:61] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[Tag.h:75] Avoid returning "handles" to internal data from const member functions
    Severe violation: Effective C++ item 29

[Tag.h:79] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function SetAttributes is both virtual and inline

[Tag.h:80] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[DisplayManager.h:9] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[DisplayManager.h:22] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class DisplayManager has no explicit destructor, and contains pointer members:
       list

[gtkTagDisplay.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Context:
       font
       AvailableWidth
       dx
       dy
       gc
       r
       widget
       vp

[gtkTagDisplay.h:30] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class gtkGenericTag:
       at

[gtkTagDisplay.h:60] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isWidget is both virtual and inline

[gtkTagDisplay.h:66] Pass objects by reference instead of by value
    Violation: Effective C++ item 22
    Parameter sugested of function realize passed by value

[gtkTagDisplay.h:66] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function realize returns object by value

[gtkTagDisplay.h:87] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class gtkTagDisplay has no explicit destructor, and contains pointer members:
       table
       vadj
       vscroll
       hadj
       hscroll
       viewport
       gc
       cm
       fc
       exposed
       body

[gtkTagDisplay.h:87] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class gtkTagDisplay:
       body

[gtkTagDisplay.h:119] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function getBody is both virtual and inline

[gtkTagDisplay.h:119] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[../../src/utils/TagStack.h:7] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class TagStack:
       index
       blarg

[../../src/utils/TagStack.h:19] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../src/utils/TagStack.h:24] Prefer C++-style casts
    Violation: More Effective C++ item 2

[cssStack.h:7] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class cssStack:
       index
       blarg

[cssStack.h:19] Prefer C++-style casts
    Violation: More Effective C++ item 2

[cssStack.h:24] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkFormatter.cc:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class TagList:
       blargh
       last

[gtkFormatter.cc:31] Destructor should call delete on all pointer members
    Violation: Effective C++ item 6
    Class Iterator has no explicit destructor, and contains pointer members:
       current
       attr  ** allocated in constructor **

[gtkFormatter.cc:31] Define a copy constructor and operator= for classes with dynamically allocated memory
    Severe violation: Effective C++ item 11
    Class Iterator missing assignment operator and copy constructor.

[gtkFormatter.cc:31] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Iterator:
       attr

[gtkFormatter.cc:42] Avoid calling virtual functions from constructors and destructors
    Severe violation: Meyers-Klaus item 13
    Virtual function IsA called.

[gtkFormatter.cc:45] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkFormatter.cc:58] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkFormatter.cc:63] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkFormatter.cc:65] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkFormatter.cc:71] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkFormatter.cc:78] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkFormatter.cc:79] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkFormatter.cc:125] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkFormatter.cc:130] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkFormatter.cc:133] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkFormatter.cc:146] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkFormatter.cc:154] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkFormatter.cc:167] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkFormatter.cc:172] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkFormatter.cc:173] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkFormatter.cc:200] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkFormatter.cc:208] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkFormatter.cc:209] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkFormatter.cc:213] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkFormatter.cc:247] Pass objects by reference instead of by value
    Violation: Effective C++ item 22
    Parameter sugested of function gtkFormatter ::realize passed by value

[gtkFormatter.cc:247] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function gtkFormatter ::realize returns object by value

[gtkFormatter.cc:253] Prefer C++-style casts
    Violation: More Effective C++ item 2

[gtkFormatter.cc:256] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../src/dispmanager/tools.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Point:
       dx
       dy

[../../../src/dispmanager/tools.h:23] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Rect:
       x
       y
       w
       h

[../../../src/dispmanager/tools.h:47] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function reunion returns object by value

[../../../src/dispmanager/tools.h:55] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function getPosition returns object by value

[../../../src/dispmanager/tools.h:56] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function getSize returns object by value

[../../../src/dispmanager/Tag.h:31] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[../../../src/dispmanager/Tag.h:32] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isReplaced is both virtual and inline

[../../../src/dispmanager/Tag.h:34] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../src/dispmanager/Tag.h:61] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[../../../src/dispmanager/Tag.h:75] Avoid returning "handles" to internal data from const member functions
    Severe violation: Effective C++ item 29

[../../../src/dispmanager/Tag.h:79] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function SetAttributes is both virtual and inline

[../../../src/dispmanager/Tag.h:80] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[../../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[../../../src/utils/TagStack.h:7] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class TagStack:
       index
       blarg

[../../../src/utils/TagStack.h:19] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../src/utils/TagStack.h:24] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../src/netmanager/Stream.h:12] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../src/netmanager/Stream.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReadBlock is both virtual and inline

[../Filter.h:11] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../Filter.h:18] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isA is both virtual and inline

[../Filter.h:19] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ProcessBlock is both virtual and inline

[../../../src/dispmanager/DisplayManager.h:9] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../src/dispmanager/DisplayManager.h:22] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class DisplayManager has no explicit destructor, and contains pointer members:
       list

[../../../src/messmanager/Message.h:3] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../src/messmanager/MessageReceiver.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../src/filtermanager/DtreeInfo.h:8] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class DtreeInfo:
       disp
       tag

[../DtreeFilter.h:13] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isA is both virtual and inline

[../DtreeFilter.h:17] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReceiveMessage is both virtual and inline

[../DtreeFilter.h:18] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function SetData is both virtual and inline

[../DtreeFilter.h:19] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTMLProcessor.h:18] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class HTMLProcessor has no explicit destructor, and contains pointer members:
       s
       curnode
       root
       display

[HTMLProcessor.h:29] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTMLProcessor.h:31] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function LexerOutput is both virtual and inline

[HTMLProcessor.h:34] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function Connect is both virtual and inline

[HTMLProcessor.h:37] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function Go is both virtual and inline

[HTMLProcessor.h:40] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function SetRoot is both virtual and inline
[../../../src/dispmanager/tools.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Point:
       dx
       dy

[../../../src/dispmanager/tools.h:23] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Rect:
       x
       y
       w
       h

[../../../src/dispmanager/tools.h:47] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function reunion returns object by value

[../../../src/dispmanager/tools.h:55] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function getPosition returns object by value

[../../../src/dispmanager/tools.h:56] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function getSize returns object by value

[../../../src/dispmanager/Tag.h:31] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[../../../src/dispmanager/Tag.h:32] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isReplaced is both virtual and inline

[../../../src/dispmanager/Tag.h:34] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../src/dispmanager/Tag.h:61] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[../../../src/dispmanager/Tag.h:75] Avoid returning "handles" to internal data from const member functions
    Severe violation: Effective C++ item 29

[../../../src/dispmanager/Tag.h:79] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function SetAttributes is both virtual and inline

[../../../src/dispmanager/Tag.h:80] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[../../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[../../../src/utils/TagStack.h:7] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class TagStack:
       index
       blarg

[../../../src/utils/TagStack.h:19] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../src/utils/TagStack.h:24] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../src/netmanager/Stream.h:12] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../src/netmanager/Stream.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReadBlock is both virtual and inline

[../Filter.h:11] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../Filter.h:18] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isA is both virtual and inline

[../Filter.h:19] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ProcessBlock is both virtual and inline

[../../../src/dispmanager/DisplayManager.h:9] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../src/dispmanager/DisplayManager.h:22] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class DisplayManager has no explicit destructor, and contains pointer members:
       list

[../../../src/messmanager/Message.h:3] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../src/messmanager/MessageReceiver.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../src/filtermanager/DtreeInfo.h:8] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class DtreeInfo:
       disp
       tag

[../DtreeFilter.h:13] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isA is both virtual and inline

[../DtreeFilter.h:17] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReceiveMessage is both virtual and inline

[../DtreeFilter.h:18] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function SetData is both virtual and inline

[../DtreeFilter.h:19] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTMLProcessor.h:18] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class HTMLProcessor has no explicit destructor, and contains pointer members:
       s
       curnode
       root
       display

[HTMLProcessor.h:29] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTMLProcessor.h:31] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function LexerOutput is both virtual and inline

[HTMLProcessor.h:34] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function Connect is both virtual and inline

[HTMLProcessor.h:37] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function Go is both virtual and inline

[HTMLProcessor.h:40] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function SetRoot is both virtual and inline

[../../../src/netmanager/Stream.h:12] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../src/netmanager/Stream.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReadBlock is both virtual and inline

[../../../src/dispmanager/tools.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Point:
       dx
       dy

[../../../src/dispmanager/tools.h:23] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Rect:
       x
       y
       w
       h

[../../../src/dispmanager/tools.h:47] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function reunion returns object by value

[../../../src/dispmanager/tools.h:55] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function getPosition returns object by value

[../../../src/dispmanager/tools.h:56] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function getSize returns object by value

[../../../src/dispmanager/Tag.h:31] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[../../../src/dispmanager/Tag.h:32] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isReplaced is both virtual and inline

[../../../src/dispmanager/Tag.h:34] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../src/dispmanager/Tag.h:61] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[../../../src/dispmanager/Tag.h:75] Avoid returning "handles" to internal data from const member functions
    Severe violation: Effective C++ item 29

[../../../src/dispmanager/Tag.h:79] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function SetAttributes is both virtual and inline

[../../../src/dispmanager/Tag.h:80] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[../../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[../../../src/utils/TagStack.h:7] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class TagStack:
       index
       blarg

[../../../src/utils/TagStack.h:19] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../src/utils/TagStack.h:24] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../Filter.h:11] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../Filter.h:18] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isA is both virtual and inline

[../Filter.h:19] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ProcessBlock is both virtual and inline

[../../../src/dispmanager/DisplayManager.h:9] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../src/dispmanager/DisplayManager.h:22] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class DisplayManager has no explicit destructor, and contains pointer members:
       list

[../../../src/messmanager/Message.h:3] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../src/messmanager/MessageReceiver.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../src/filtermanager/DtreeInfo.h:8] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class DtreeInfo:
       disp
       tag

[../DtreeFilter.h:13] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isA is both virtual and inline

[../DtreeFilter.h:17] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReceiveMessage is both virtual and inline

[../DtreeFilter.h:18] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function SetData is both virtual and inline

[../DtreeFilter.h:19] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTMLProcessor.h:18] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class HTMLProcessor has no explicit destructor, and contains pointer members:
       s
       curnode
       root
       display

[HTMLProcessor.h:29] Prefer C++-style casts
    Violation: More Effective C++ item 2

[HTMLProcessor.h:31] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function LexerOutput is both virtual and inline

[HTMLProcessor.h:34] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function Connect is both virtual and inline

[HTMLProcessor.h:37] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function Go is both virtual and inline

[HTMLProcessor.h:40] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function SetRoot is both virtual and inline

[../../../src/filtermanager/Buffer.h:7] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Buffer:
       data
       length

[../../../src/filtermanager/Buffer.h:14] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../src/filtermanager/Buffer.h:14] Use new instead of malloc
    Violation: Effective C++ item 3

[../../../src/filtermanager/Buffer.h:19] Use delete instead of free
    Violation: Effective C++ item 3

[../../../src/netmanager/Stream.h:12] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../src/netmanager/Stream.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReadBlock is both virtual and inline

[../../../src/dispmanager/tools.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Point:
       dx
       dy

[../../../src/dispmanager/tools.h:23] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class Rect:
       x
       y
       w
       h

[../../../src/dispmanager/tools.h:47] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function reunion returns object by value

[../../../src/dispmanager/tools.h:55] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function getPosition returns object by value

[../../../src/dispmanager/tools.h:56] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function getSize returns object by value

[../../../src/dispmanager/Tag.h:31] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[../../../src/dispmanager/Tag.h:32] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isReplaced is both virtual and inline

[../../../src/dispmanager/Tag.h:34] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../src/dispmanager/Tag.h:61] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[../../../src/dispmanager/Tag.h:75] Avoid returning "handles" to internal data from const member functions
    Severe violation: Effective C++ item 29

[../../../src/dispmanager/Tag.h:79] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function SetAttributes is both virtual and inline

[../../../src/dispmanager/Tag.h:80] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isContainer is both virtual and inline

[../../../src/utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[../../../src/utils/TagStack.h:7] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class TagStack:
       index
       blarg

[../../../src/utils/TagStack.h:19] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../src/utils/TagStack.h:24] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../Filter.h:11] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../Filter.h:18] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isA is both virtual and inline

[../Filter.h:19] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ProcessBlock is both virtual and inline

[../../../src/dispmanager/DisplayManager.h:9] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../src/dispmanager/DisplayManager.h:22] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class DisplayManager has no explicit destructor, and contains pointer members:
       list

[../../../src/messmanager/Message.h:3] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../src/messmanager/MessageReceiver.h:6] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../src/filtermanager/DtreeInfo.h:8] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class DtreeInfo:
       disp
       tag

[../DtreeFilter.h:13] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isA is both virtual and inline

[../DtreeFilter.h:17] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReceiveMessage is both virtual and inline

[../DtreeFilter.h:18] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function SetData is both virtual and inline

[../DtreeFilter.h:19] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../src/netmanager/DataMessage.h:10] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class DataMessage:
       data
       length
       id

[../../../src/netmanager/StatusMessage.h:15] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class StatusMessage:
       status
       id
       expl

[../../../src/netmanager/StatusMessage.h:21] Avoid overloading on a pointer and a numerical type
    Violation: Effective C++ item 25
    Function StatusMessage overloaded at:
       [../../../src/netmanager/StatusMessage.h:21]
       [../../../src/netmanager/StatusMessage.h:25]

[../../../src/netmanager/StatusMessage.h:27] Prefer C++-style casts
    Violation: More Effective C++ item 2

[xmltag.hh:15] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[xmltag.hh:45] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class XMLelement has no explicit destructor, and contains pointer members:
       firstcp_

[xmlparser.hh:49] Call delete on pointer members in destructors
    Possible violation: Effective C++ item 6
    Class XMLparser contains pointer members not obviously deleted in destructor:
       current_node_
       display_

[xmlparser.hh:89] Return objects by reference instead of by value
    Violation: Effective C++ item 22
    Function tagname_ returns object by value

[xmlparser.cc:50] Prefer C++-style casts
    Violation: More Effective C++ item 2

[xmlparser.cc:102] Prefer C++-style casts
    Violation: More Effective C++ item 2

[xmlparser.cc:107] Prefer C++-style casts
    Violation: More Effective C++ item 2

[xmlparser.cc:191] Prefer C++-style casts
    Violation: More Effective C++ item 2

[xmlparser.cc:200] Prefer C++-style casts
    Violation: More Effective C++ item 2

[xmlparser.cc:482] Prefer C++-style casts
    Violation: More Effective C++ item 2

[xmlparser.cc:482] Prefer C++-style casts
    Violation: More Effective C++ item 2

[xmltag.hh:15] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[xmltag.hh:45] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class XMLelement has no explicit destructor, and contains pointer members:
       firstcp_

[../../utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[xmltag.cc:32] Prefer C++-style casts
    Violation: More Effective C++ item 2

[xmltag.cc:36] Prefer C++-style casts
    Violation: More Effective C++ item 2

[xmltag.cc:51] Prefer C++-style casts
    Violation: More Effective C++ item 2

[xmltag.cc:91] Prefer C++-style casts
    Violation: More Effective C++ item 2

[xmltag.cc:103] Prefer C++-style casts
    Violation: More Effective C++ item 2

[xmltag.cc:140] Prefer C++-style casts
    Violation: More Effective C++ item 2

[xmltag.cc:228] Prefer initialization to assignment in constructors
    Violation: Effective C++ item 12

[xmltag.hh:15] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[xmltag.hh:45] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class XMLelement has no explicit destructor, and contains pointer members:
       firstcp_

[../../utils/Hash.h:9] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class HashElem:
       Key
       Val
       SubElem

[xmldtd.cc:35] Prefer C++-style casts
    Violation: More Effective C++ item 2

[xmldtd.cc:48] Be wary of user-defined conversion functions
    Violation: More Effective C++ item 5
    Use of implicit cast should be made explicit

[Gif_image.h:9] Destructor should call delete on all pointer members
    Violation: Effective C++ item 6
    Class Gif_image has no explicit destructor, and contains pointer members:
       image  ** allocated in constructor **
       color_map
       next

[Gif_image.h:9] Define a copy constructor and operator= for classes with dynamically allocated memory
    Severe violation: Effective C++ item 11
    Class Gif_image missing assignment operator and copy constructor.

[Gif_image.cc:9] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Gif_image.cc:42] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Gif_image.cc:42] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/netmanager/Stream.h:12] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../../src/netmanager/Stream.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReadBlock is both virtual and inline

[Bit_mask.h:13] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class Bit_mask has no explicit destructor, and contains pointer members:
       infile

[Bit_mask.cc:39] Prefer C++-style casts
    Violation: More Effective C++ item 2

[../../../../src/netmanager/Stream.h:12] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../../src/netmanager/Stream.h:44] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ReadBlock is both virtual and inline

[../../../../src/filtermanager/Filter.h:11] Make destructors virtual in base classes
    Severe violation: Effective C++ item 14

[../../../../src/filtermanager/Filter.h:18] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isA is both virtual and inline

[../../../../src/filtermanager/Filter.h:19] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function ProcessBlock is both virtual and inline

[../../../../src/filtermanager/image/../GenericFilter.h:11] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isA is both virtual and inline

[../../../../src/filtermanager/image/DisplayFilter.h:16] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class DisplayFilter has no explicit destructor, and contains pointer members:
       infile
       image

[../../../../src/filtermanager/image/DisplayFilter.h:16] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class DisplayFilter:
       infile
       image

[../../../../src/filtermanager/image/ImageFilter.h:37] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class ImageFilter has no explicit destructor, and contains pointer members:
       display
       infile

[../../../../src/filtermanager/image/ImageFilter.h:37] Avoid data members in the public interface
    Violation: Effective C++ item 20
    Public data members for class ImageFilter:
       display
       height
       width
       infile

[../../../../src/filtermanager/image/ImageFilter.h:39] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function isA is both virtual and inline

[../../../../src/filtermanager/image/ImageFilter.h:41] Understand the costs of virtual functions ... 
    Violation: More Effective C++ item 24
    Function Connect is both virtual and inline

[Gif_image.h:9] Destructor should call delete on all pointer members
    Possible violation: Effective C++ item 6
    Class Gif_image has no explicit destructor, and contains pointer members:
       image
       color_map
       next

[Gif_filter.h:18] Call delete on pointer members in destructors
    Possible violation: Effective C++ item 6
    Class Gif_filter contains pointer members not obviously deleted in destructor:
       decoder
       background
       image
       stream_descriptor

[Gif_filter.cc:11] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Gif_filter.cc:38] Prefer C++-style casts
    Violation: More Effective C++ item 2

[Gif_filter.cc:38] Prefer C++-style casts
    Violation: More Effective C++ item 2