[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