Dependency Graph

Online documentation:

Dependency Matrix

Online documentation:

Visualizing Code Metrics through Treemaping

With the Online documentation, understand how Treemaping can help you see patterns in your code base, that would be hard to spot with other ways.

Abstractness versus Instability Diagram

The Abstractness versus Instability Diagram helps to detect which Projects are potentially painful to maintain (i.e concrete and stable) and which Projects are potentially useless (i.e abstract and instable).

Online documentation:

For beginners: Where to start

Code queries and rules results are truncated to list a maximum of 100 code elements in this report

Does this report gets too large?

The list contains only code elements refactored or added since the baseline for comparison.

The setting Recent Violations Only is enabled

Why should I enable the setting Recent Violations Only ?

Quick Tips

Main
Main \ Rules
Main \ Rules \ Code Quality
Main \ Rules \ Object Oriented Design
Main \ Rules \ Design
Main \ Rules \ Architecture and Layering
Main \ Rules \ Best Practices
Main \ Rules \ Best Practices \ Constness
Main \ Rules \ Best Practices \ Exception
Main \ Rules \ Dead Code
Main \ Rules \ Visibility
Main \ Rules \ Purity - Immutability - Side-Effects
Main \ Rules \ Naming Conventions
Main \ Rules \ Source Files Organization
Main \ Group of Queries \ Object Oriented Design
Main \ Group of Queries \ API Breaking Changes
Main \ Group of Queries \ Code Diff Summary
Main \ Group of Queries \ Dead Code
Main \ Metrics \ Application Statistics
Main \ Metrics \ Projects Metrics
Main \ Metrics \ Namespaces Metrics
Main \ Metrics \ Types Metrics
Main \ Projects Dependencies
Main \ Namespaces Dependencies
Main \ Types Dependencies
Main \ Build Order
Main \ Analysis Log
Main \ Trend Charts
cppdepend report summary application namePocoreport build date08/06/2014 09:41:04analysis duration00:07:40cppdepend version 4.1.0.2453baseline for comparison Not Defined. To define a Baseline for Comparison, please read this online documentation.
Get started.Quick tips.Back to CppDepend. The present HTML report is a summary of data gathered by the analysis.
It is recommended to use the CppDepend interactive UI capabilities
to make the most of CppDepend by mastering all aspects of your code.

Diagrams

C/C++ Projects Dependency Graph
Dependency Graph
View as ?fullscaled
C/C++ Projects Dependency Matrix
Dependency Matrix
View as ?fullscaled
Treemap View
Treemap Metric View
View as ?fullscaled
Abstractness versus Instability
Abstractness vs. Instability
View as ?fullscaled

Application Metrics

Note: Further Application Statistics are available.
# Lines of Code
59 768      
0 (NotMyCode)
# Types
1 295      
9   Projects      
72   Namespaces      
11 545   Methods      
2 692   Fields      
982   Source Files      
Comment
25.26%      
20 200   Lines of Comment      
Method Complexity
1 163   Max      
2.2   Average      
Type Complexity
4 702   Max      
27.38   Average      
Third-Party Usage
2   Projects used      
6   Namespaces used      
149   Types used      
723   Methods used      
223   Fields used      

Rules summary

23430This section lists all Rules violated, and Rules or Queries with Error
  • Number of Rules or Queries with Error (syntax error, exception thrown, time-out): 0
  • Number of Rules violated: 46

Summary of Rules violated

graphHelp Rules can be checked live at
development-time, from within Visual
Studio. Online documentation.
graphHelp CppDepend rules report too many flaws
on existing code base? Use the option
Recent Violations Only!
warningCritical Some Critical Rules are violated. Critical Rules
can be used to break the build process if
violated. Online documentation.
Name # Matches Elements Group
warningCritical   Types too big - critical
4 typesCode Quality
warningCritical   Methods too complex - critical
45 methodsCode Quality
warningCritical   Methods with too many parameters - critical
12 methodsCode Quality
warning   Quick summary of methods to refactor
1546 methodsCode Quality
warning   Methods too big
292 methodsCode Quality
warning   Methods too complex
145 methodsCode Quality
warning   Methods potentially poorly commented
376 methodsCode Quality
warning   Methods with too many parameters
102 methodsCode Quality
warning   Methods with too many local variables
23 methodsCode Quality
warning   Methods with too many overloads
948 methodsCode Quality
warning   Types with too many methods
108 typesCode Quality
warning   Types with too many fields
11 typesCode Quality
warning   Types with poor cohesion
16 typesCode Quality
warning   Base class should not use derivatives
6 typesObject Oriented Design
warning   Class shouldn't be too deep in inheritance tree
131 typesObject Oriented Design
warning   Constructor should not call a virtual methods
36 methodsObject Oriented Design
warning   Don't assign static fields from instance methods
13 fieldsObject Oriented Design
warning   Avoid Abstract Classes with too many methods
21 typesObject Oriented Design
warning   Avoid namespaces with few types
52 namespacesDesign
warning   Nested types should not be visible
182 typesDesign
warning   Avoid namespaces mutually dependent
1 namespacesArchitecture and Layering
warning   Avoid namespaces dependency cycles
38 namespacesArchitecture and Layering
warning   Use reinterpret_cast carrefully
10 methodsBest Practices
warning   Avoid overusing of dynamic_cast
10 methodsBest Practices
warning   Avoid using goto keyword
10 methodsBest Practices
warning   Use const_cast carrefully
10 methodsConstness
warning   Avoid using Generic Catch(...)
10 methodsException
warning   Potentially dead Types
159 typesDead Code
warning   Potentially dead Methods
722 methodsDead Code
warning   Potentially dead Fields
118 fieldsDead Code
warning   Fields should be declared as private
1109 fieldsVisibility
warning   Constructors of abstract classes should be declared as protected or private
66 typesVisibility
warning   Structures should be immutable
86 typesPurity - Immutability - Side-Effects
warning   Avoid static fields with a mutable field type
47 fieldsPurity - Immutability - Side-Effects
warning   Instance fields should be prefixed with a 'm_'
10 fieldsNaming Conventions
warning   Static fields should be prefixed with a 's_'
10 fieldsNaming Conventions
warning   Exception class name should be suffixed with 'Exception'
1 typesNaming Conventions
warning   Types name should begin with an Upper character
10 typesNaming Conventions
warning   Avoid types with name too long
1 typesNaming Conventions
warning   Avoid methods with name too long
140 methodsNaming Conventions
warning   Avoid fields with name too long
7 fieldsNaming Conventions
warning   Namespace name should correspond to file location
194 typesNaming Conventions
warning   Avoid defining multiple types in a source file
128 typesSource Files Organization
warning   Namespace name should correspond to file location
140 typesSource Files Organization
warning   Types with source files stored in the same directory, should be declared in the same namespace
10 namespacesSource Files Organization
warning   Types declared in the same namespace, should have their source files stored in the same directory
6 namespacesSource Files Organization

Application Statistics

Stat # Occurences Avg StdDev Max
Public properties on classes 969 Classes 0.153.3981 public properties on __Globals
Public methods on classes 969 classes 11.116.9331 public methods on __Globals
Arguments on public methods on classes 10,757 methods 1.091.2413 arguments on __Globals.compile_regex(int,int,uschar**,constuschar**,int*,BOOL,BOOL,int,int*,int*,branch_chain*,compile_data*,int*)
Cyclomatic complexity on non abstract Methods 12,521 Methods 0.41.36 CC = 38 for Poco.XML.ParserEngine.handleError(int)

Projects Metrics

If you wish to define thresholds on Projects' Code Metrics, consider writing some Rules.
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.
Projects # lines of code # Types # Abstract Types # lines of comment% CommentAfferent CouplingEfferent CouplingRelational CohesionInstabilityAbstractnessDistance
Foundation v1.0.0.0279785542310426274071042.680.20.040.53
XML v1.0.0.016222136202659140593.5510.150.1
CppParser v1.0.0.01801361252120552.4410.030.02
Net v1.0.0.0679025613360534131792.520.930.050.01
MongoDB v1.0.0.0598602230270571.5710.030.02
JSON v1.0.0.01387342362200781.6810.060.04
Data v1.0.0.037291401014922801023.310.070.05
Crypto v1.0.0.0507432326395501.740.910.050.03
NetSSL_OpenSSL v1.0.0.0756454848520892.1610.090.06

Types Metrics : Code Quality

For a particular Code Metric defined for types, values in red represent the 15% highest values.
If you wish to define thresholds on types' Code Metrics, consider writing some Rule.
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.

Types Metrics : Code Members and Inheritance

Type Name # Instance Methods Nb Static Methods # Fields# Children ClassesDepth Of Inheritance Tree Type Namespace

Types Metrics : Lack Of Cohesion Of Methods and Association Between Classes

Namespaces Metrics

If you wish to define thresholds on namespaces' Code Metrics, consider writing some Rules.
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.
Namespaces # lines of code # Types # lines of comment% CommentAfferent CouplingEfferent Coupling
Foundation::GlobalNamespace11380440025
Foundation::Poco13791450004928
Foundation::Poco.Impl2110012
Foundation::Poco.anonymous_namespace{base32decoder.cpp}010011
Foundation::Poco.anonymous_namespace{format.cpp}25410013
Foundation::Poco.anonymous_namespace{nesteddiagnosticcontext.cpp}010011
Foundation::Poco.Dynamic1530300065
Foundation::Poco.Dynamic.Impl2310013
Foundation::Poco.anonymous_namespace{base64decoder.cpp}010011
Foundation::Poco.anonymous_namespace{activedispatcher.cpp}220011
Foundation::Poco.anonymous_namespace{threadlocal.cpp}010011
Foundation::Poco.anonymous_namespace{threadpool.cpp}010011
Foundation::Poco.anonymous_namespace{logger.cpp}010001
Foundation::Poco.anonymous_namespace{loggingfactory.cpp}010011
Foundation::Poco.anonymous_namespace{loggingregistry.cpp}010011
Foundation::Poco.anonymous_namespace{patternformatter.cpp}010011
Foundation::Poco.anonymous_namespace{notificationcenter.cpp}010011
Foundation::Poco.anonymous_namespace{notificationqueue.cpp}010011
Foundation::Poco.anonymous_namespace{prioritynotificationqueue.cpp}010011
Foundation::Poco.anonymous_namespace{temporaryfile.cpp}010011
Foundation::Poco.anonymous_namespace{uuid.cpp}010011
Foundation::Poco.anonymous_namespace{uuidgenerator.cpp}010011
Foundation::Poco.anonymous_namespace{textencoding.cpp}010011
Foundation::Poco.anonymous_namespace{utf8string.cpp}010011
Foundation::Poco.anonymous_namespace{uristreamopener.cpp}010011
Foundation::double_conversion91730015
Foundation::anonymous_namespace{numericstring.cpp}4310013
Foundation::std110001
Foundation::anonymous_namespace{process.cpp}1510011
Foundation::anonymous_namespace{textconverter.cpp}110010
XML::GlobalNamespace12935440012
XML::Poco.XML32848700411
XML::Poco.XML.anonymous_namespace{parserengine.cpp}010011
XML::Poco.XML.anonymous_namespace{xmlwriter.cpp}010012
XML::Poco.XML.anonymous_namespace{domimplementation.cpp}010012
XML::Poco.XML.anonymous_namespace{elementsbytagnamelist.cpp}010012
XML::anonymous_namespace{eventdispatcher.cpp}310011
CppParser::GlobalNamespace010000
CppParser::Poco.CppParser1798340015
CppParser::Poco.CppParser.anonymous_namespace{struct.cpp}310011
Net::GlobalNamespace1030002
Net::Poco.Net640423500814
Net::Poco.Net.Impl26470016
Net::Poco.Net.anonymous_namespace{networkinterface.cpp}4710014
Net::Poco.Net.anonymous_namespace{partsource.cpp}010011
Net::Poco.Net.anonymous_namespace{httpcookie.cpp}010011
Net::Poco.Net.anonymous_namespace{tcpserverdispatcher.cpp}010011
Net::Poco.Net.anonymous_namespace{httpsessionfactory.cpp}010012
Net::Poco.Net.anonymous_namespace{socketnotifier.cpp}010011
Net::Poco.Net.anonymous_namespace{mailmessage.cpp}3220013
Net::anonymous_namespace{ipaddressimpl.cpp}810010
Net::anonymous_namespace{httpauthenticationparams.cpp}910002
Net::anonymous_namespace{httpdigestcredentials.cpp}1610012
MongoDB::GlobalNamespace4220013
MongoDB::Poco.MongoDB556580016
JSON::GlobalNamespace010000
JSON::Poco.JSON1279290016
JSON::Poco.Dynamic10840005
Data::GlobalNamespace010000
Data::Poco.Dynamic3640005
Data::Poco.Data36281330037
Data::Poco.Data.Keywords5910014
Data::std610001
Crypto::GlobalNamespace340022
Crypto::Poco.Crypto387310059
Crypto::Poco.Crypto.anonymous_namespace{cipherfactory.cpp}010012
Crypto::Poco.Crypto.anonymous_namespace{cipherimpl.cpp}1830014
Crypto::Poco.Crypto.anonymous_namespace{rsacipherimpl.cpp}9930016
Crypto::Poco.Crypto.anonymous_namespace{rsakey.cpp}010011
NetSSL_OpenSSL::GlobalNamespace1220003
NetSSL_OpenSSL::Poco.Net744420029
NetSSL_OpenSSL::Poco.Net.anonymous_namespace{sslmanager.cpp}010012

0130
Code Quality  

warningCritical    Critical Rule warning: Types too big - critical
// <Name>Types too big - critical</Name>
warnif count > 0 from t in JustMyCode.Types where 
   
t.NbLinesOfCode > 500 && !t.IsGlobal
   
orderby t.NbLinesOfCode descending
select new { t, t.NbLinesOfCode,
                
t.NbMethods, t.NbFields }

// Types where NbLinesOfCode > 500 are extremely complex 
// and should be split in a smaller group of types. 
// See the definition of the NbLinesOfCode metric here 
// http://www.cppdepend.com/Metrics.aspx#NbLinesOfCode

4 types matched

types# lines of code (LOC)# Methods# FieldsFull Name
Parser6034114Poco.CppParser.Parser
SHA1Engine572102Poco.SHA1Engine
Path539796Poco.Path
Parser5113520Poco.JSON.Parser

Statistics

Stat   # lines of code (LOC)   # Methods   # Fields
Sum:2 22516542
Average:556.2541.2510.5
Minimum:511102
Maximum:6037920
Standard deviation:34.5624.76.98
Variance:1 194610.1948.75
warningCritical    Critical Rule warning: Methods too complex - critical
// <Name>Methods too complex - critical</Name>
warnif count > 0 from m in JustMyCode.Methods where 
  
m.CyclomaticComplexity > 20 && 
  
m.NestingDepth > 5
  
orderby m.CyclomaticComplexity descending,
          
m.NestingDepth descending
select new { m, m.CyclomaticComplexity, m.NestingDepth }

// Methods with CyclomaticComplexity > 20 and NestingDepth  > 5
// are really too complex and should be split 
// in smaller methods, or even types.
// See the definition of the CyclomaticComplexity metric here 
// http://www.cppdepend.com/Metrics.aspx#CC
// See the definition of the NestingDepth metric here 
// http://www.cppdepend.com/Metrics.aspx#NestingDepth

45 methods matched

methodsCyclomatic Complexity (CC)NestingDepthFull Name
match(constunsignedchar*,constuschar*,constuschar*,int,match_data* ,unsignedlong,eptrblock*,int,unsignedint)1 16353__Globals.match(constunsignedchar*,constuschar*,constuschar*,int ,match_data*,unsignedlong,eptrblock*,int,unsignedint)
compile_branch(int*,uschar**,constuschar**,int*,int*,int* ,branch_chain*,compile_data*,int*)55435__Globals.compile_branch(int*,uschar**,constuschar**,int*,int*,int* ,branch_chain*,compile_data*,int*)
doProlog(XML_Parser,constENCODING*,constchar*,constchar*,int ,constchar*,constchar**,XML_Bool)24712__Globals.doProlog(XML_Parser,constENCODING*,constchar*,constchar*,int ,constchar*,constchar**,XML_Bool)
inflate(z_streamp,int)16510__Globals.inflate(z_streamp,int)
little2_prologTok(constENCODING*,constchar*,constchar*,constchar**)1346__Globals.little2_prologTok(constENCODING*,constchar*,constchar* ,constchar**)
big2_prologTok(constENCODING*,constchar*,constchar*,constchar**)1346__Globals.big2_prologTok(constENCODING*,constchar*,constchar* ,constchar**)
normal_prologTok(constENCODING*,constchar*,constchar*,constchar**)1286__Globals.normal_prologTok(constENCODING*,constchar*,constchar* ,constchar**)
check_auto_possessive(int,int,BOOL,uschar*,constuschar*,int ,compile_data*)12310__Globals.check_auto_possessive(int,int,BOOL,uschar*,constuschar*,int ,compile_data*)
little2_scanAtts(constENCODING*,constchar*,constchar*,constchar**)1148__Globals.little2_scanAtts(constENCODING*,constchar*,constchar* ,constchar**)
big2_scanAtts(constENCODING*,constchar*,constchar*,constchar**)1148__Globals.big2_scanAtts(constENCODING*,constchar*,constchar* ,constchar**)
doContent(XML_Parser,int,constENCODING*,constchar*,constchar* ,constchar**,XML_Bool)1096__Globals.doContent(XML_Parser,int,constENCODING*,constchar* ,constchar*,constchar**,XML_Bool)
normal_scanAtts(constENCODING*,constchar*,constchar*,constchar**)1078__Globals.normal_scanAtts(constENCODING*,constchar*,constchar* ,constchar**)
set_start_bits(constuschar*,uschar*,BOOL,BOOL,compile_data*)1008__Globals.set_start_bits(constuschar*,uschar*,BOOL,BOOL,compile_data*)
pcre_exec(constpcre*,constpcre_extra*,constchar*,int,int,int,int*,int)9914__Globals.pcre_exec(constpcre*,constpcre_extra*,constchar*,int,int,int ,int*,int)
little2_scanLt(constENCODING*,constchar*,constchar*,constchar**)927__Globals.little2_scanLt(constENCODING*,constchar*,constchar* ,constchar**)
big2_scanLt(constENCODING*,constchar*,constchar*,constchar**)927__Globals.big2_scanLt(constENCODING*,constchar*,constchar*,constchar** )
normal_scanLt(constENCODING*,constchar*,constchar*,constchar**)877__Globals.normal_scanLt(constENCODING*,constchar*,constchar* ,constchar**)
inflateBack(z_streamp,in_func,void*,out_func,void*)6416__Globals.inflateBack(z_streamp,in_func,void*,out_func,void*)
parseChar<S>(CharIntType,S&)636Poco.JSON.Parser.parseChar<S>(CharIntType,S&)
deflate(z_streamp,int)6232__Globals.deflate(z_streamp,int)
little2_scanPi(constENCODING*,constchar*,constchar*,constchar**)626__Globals.little2_scanPi(constENCODING*,constchar*,constchar* ,constchar**)
big2_scanPi(constENCODING*,constchar*,constchar*,constchar**)626__Globals.big2_scanPi(constENCODING*,constchar*,constchar*,constchar** )
pcre_compile2(constchar*,int,int*,constchar**,int*,constunsignedchar*)607__Globals.pcre_compile2(constchar*,int,int*,constchar**,int* ,constunsignedchar*)
normal_scanPi(constENCODING*,constchar*,constchar*,constchar**)596__Globals.normal_scanPi(constENCODING*,constchar*,constchar* ,constchar**)
check_escape(constuschar**,int*,int,int,BOOL)586__Globals.check_escape(constuschar**,int*,int,int,BOOL)
little2_contentTok(constENCODING*,constchar*,constchar*,constchar**)526__Globals.little2_contentTok(constENCODING*,constchar*,constchar* ,constchar**)
big2_contentTok(constENCODING*,constchar*,constchar*,constchar**)526__Globals.big2_contentTok(constENCODING*,constchar*,constchar* ,constchar**)
normal_contentTok(constENCODING*,constchar*,constchar*,constchar**)496__Globals.normal_contentTok(constENCODING*,constchar*,constchar* ,constchar**)
find_parens(constuschar*,compile_data*,constuschar*,int,BOOL)448__Globals.find_parens(constuschar*,compile_data*,constuschar*,int,BOOL )
parse(conststd::string&,conststd::string&,Poco::DateTime&,int&)4219Poco.DateTimeParser.parse(conststd::string&,conststd::string& ,Poco::DateTime&,int&)
parseVMS(conststd::string&)3810Poco.Path.parseVMS(conststd::string&)
little2_sameName(constENCODING*,constchar*,constchar*)386__Globals.little2_sameName(constENCODING*,constchar*,constchar*)
big2_sameName(constENCODING*,constchar*,constchar*)386__Globals.big2_sameName(constENCODING*,constchar*,constchar*)
normal_sameName(constENCODING*,constchar*,constchar*)366__Globals.normal_sameName(constENCODING*,constchar*,constchar*)
inflate_fast(z_streamp,unsignedint)3114__Globals.inflate_fast(z_streamp,unsignedint)
little2_ignoreSectionTok(constENCODING*,constchar*,constchar* ,constchar**)296__Globals.little2_ignoreSectionTok(constENCODING*,constchar* ,constchar*,constchar**)
big2_ignoreSectionTok(constENCODING*,constchar*,constchar*,constchar** )296__Globals.big2_ignoreSectionTok(constENCODING*,constchar*,constchar* ,constchar**)
initScan(constENCODING*const*,constINIT_ENCODING*,int,constchar* ,constchar*,constchar**)287__Globals.initScan(constENCODING*const*,constINIT_ENCODING*,int ,constchar*,constchar*,constchar**)
normal_ignoreSectionTok(constENCODING*,constchar*,constchar* ,constchar**)286__Globals.normal_ignoreSectionTok(constENCODING*,constchar*,constchar* ,constchar**)
doCdataSection(XML_Parser,constENCODING*,constchar**,constchar* ,constchar**,XML_Bool)267__Globals.doCdataSection(XML_Parser,constENCODING*,constchar** ,constchar*,constchar**,XML_Bool)
select(SocketList&,SocketList&,SocketList&,constPoco::Timespan&)239Poco.Net.Socket.select(SocketList&,SocketList&,SocketList& ,constPoco::Timespan&)
compile_regex(int,int,uschar**,constuschar**,int*,BOOL,BOOL,int,int* ,int*,branch_chain*,compile_data*,int*)238__Globals.compile_regex(int,int,uschar**,constuschar**,int*,BOOL,BOOL ,int,int*,int*,branch_chain*,compile_data*,int*)
little2_scanComment(constENCODING*,constchar*,constchar*,constchar**)236__Globals.little2_scanComment(constENCODING*,constchar*,constchar* ,constchar**)
big2_scanComment(constENCODING*,constchar*,constchar*,constchar**)236__Globals.big2_scanComment(constENCODING*,constchar*,constchar* ,constchar**)
normal_scanComment(constENCODING*,constchar*,constchar*,constchar**)226__Globals.normal_scanComment(constENCODING*,constchar*,constchar* ,constchar**)

Statistics

Stat   Cyclomatic Complexity (CC)   NestingDepth
Sum:4 726450
Average:105.0210
Minimum:226
Maximum:1 16353
Standard deviation:180.568.85
Variance:32 60278.36
warningCritical    Critical Rule warning: Methods with too many parameters - critical
// <Name>Methods with too many parameters - critical</Name>
warnif count > 0 from m in JustMyCode.Methods where 
  
m.NbParameters > 8
  
orderby m.NbParameters descending
select new { m, m.NbParameters }

// Methods with more than 8 parameters might be painful to call 
// and might degrade performance. You should prefer using 
// additional properties/fields to the declaring type to 
// handle numerous states. Another alternative is to provide 
// a class or structure dedicated to handle arguments passing 
// (for example see the class System.Diagnostics.ProcessStartInfo 
//  and the method System.Diagnostics.Process.Start(ProcessStartInfo))
//  See the definition of the NbParameters metric here 
// http://www.cppdepend.com/Metrics.aspx#NbParameters

12 methods matched

methods# ParametersFull Name
compile_regex(int,int,uschar**,constuschar**,int*,BOOL,BOOL,int,int* ,int*,branch_chain*,compile_data*,int*)13__Globals.compile_regex(int,int,uschar**,constuschar**,int*,BOOL,BOOL ,int,int*,int*,branch_chain*,compile_data*,int*)
doParseXmlDecl(constENCODING*(*)(constENCODING*,constchar*,constchar*) ,int,constENCODING*,constchar*,constchar*,constchar**,constchar** ,constchar**,constchar**,constENCODING**,int*)11__Globals.doParseXmlDecl(constENCODING*(*)(constENCODING*,constchar* ,constchar*),int,constENCODING*,constchar*,constchar*,constchar** ,constchar**,constchar**,constchar**,constENCODING**,int*)
XmlParseXmlDecl(int,constENCODING*,constchar*,constchar*,constchar** ,constchar**,constchar**,constchar**,constENCODING**,int*)10__Globals.XmlParseXmlDecl(int,constENCODING*,constchar*,constchar* ,constchar**,constchar**,constchar**,constchar**,constENCODING**,int*)
XmlParseXmlDeclNS(int,constENCODING*,constchar*,constchar*,constchar** ,constchar**,constchar**,constchar**,constENCODING**,int*)10__Globals.XmlParseXmlDeclNS(int,constENCODING*,constchar*,constchar* ,constchar**,constchar**,constchar**,constchar**,constENCODING**,int*)
dataElement(constXMLString&,constXMLString&,constXMLString& ,constXMLString&,constXMLString&,constXMLString&,constXMLString& ,constXMLString&,constXMLString&,constXMLString&)10Poco.XML.XMLWriter.dataElement(constXMLString&,constXMLString& ,constXMLString&,constXMLString&,constXMLString&,constXMLString& ,constXMLString&,constXMLString&,constXMLString&,constXMLString&)
MutationEvent(Poco::XML::Document*,constXMLString& ,Poco::XML::EventTarget*,bool,bool,Poco::XML::Node*,constXMLString& ,constXMLString&,constXMLString& ,Poco::XML::MutationEvent::AttrChangeType)10Poco.XML.MutationEvent.MutationEvent(Poco::XML::Document* ,constXMLString&,Poco::XML::EventTarget*,bool,bool,Poco::XML::Node* ,constXMLString&,constXMLString&,constXMLString& ,Poco::XML::MutationEvent::AttrChangeType)
compile_branch(int*,uschar**,constuschar**,int*,int*,int* ,branch_chain*,compile_data*,int*)9__Globals.compile_branch(int*,uschar**,constuschar**,int*,int*,int* ,branch_chain*,compile_data*,int*)
match(constunsignedchar*,constuschar*,constuschar*,int,match_data* ,unsignedlong,eptrblock*,int,unsignedint)9__Globals.match(constunsignedchar*,constuschar*,constuschar*,int ,match_data*,unsignedlong,eptrblock*,int,unsignedint)
LocalDateTime(int,int,int,int,int,int,int,int,int)9Poco.LocalDateTime.LocalDateTime(int,int,int,int,int,int,int,int,int)
assign(int,int,int,int,int,int,int,int,int)9Poco.LocalDateTime.assign(int,int,int,int,int,int,int,int,int)
InitialScaledStartValues(uint64_t,int,bool,int,bool ,double_conversion::Bignum*,double_conversion::Bignum* ,double_conversion::Bignum*,double_conversion::Bignum*)9double_conversion.__Globals.InitialScaledStartValues(uint64_t,int,bool ,int,bool,double_conversion::Bignum*,double_conversion::Bignum* ,double_conversion::Bignum*,double_conversion::Bignum*)
handleEntityDecl(void*,constXML_Char*,int,constXML_Char*,int ,constXML_Char*,constXML_Char*,constXML_Char*,constXML_Char*)9Poco.XML.ParserEngine.handleEntityDecl(void*,constXML_Char*,int ,constXML_Char*,int,constXML_Char*,constXML_Char*,constXML_Char* ,constXML_Char*)

Statistics

Stat   # Parameters
Sum:118
Average:9.83
Minimum:9
Maximum:13
Standard deviation:1.14
Variance:1.31
warningCritical    Rule warning: Quick summary of methods to refactor
// <Name>Quick summary of methods to refactor</Name>
warnif count > 0 from m in JustMyCode.Methods where 
                                    
// Code Metrics' definitions
  m.NbLinesOfCode > 30 ||           // http://www.cppdepend.com/Metrics.aspx#NbLinesOfCode
  m.MaxNestedLoop > 3 ||       // http://www.cppdepend.com/Metrics.aspx#NbILInstructions
  m.CyclomaticComplexity > 20 ||    // http://www.cppdepend.com/Metrics.aspx#CC
  m.NestingDepth > 5 ||           // http://www.cppdepend.com/Metrics.aspx#ILNestingDepth
  m.NbParameters > 5 ||             // http://www.cppdepend.com/Metrics.aspx#NbParameters
  m.NbVariables > 8 ||              // http://www.cppdepend.com/Metrics.aspx#NbVariables
  m.NbOverloads > 6                 // http://www.cppdepend.com/Metrics.aspx#NbOverloads

select new { m, m.NbLinesOfCode, m.MaxNestedLoop, m.CyclomaticComplexity, 
              
m.NestingDepth, 
             
m.NbParameters, m.NbVariables, m.NbOverloads } 

1,546 methods matched

methods# lines of code (LOC)MaxNestedLoopCyclomatic Complexity (CC)NestingDepth# Parameters# Variables# OverloadsFull Name
Multiply(constdouble_conversion::DiyFp&)140111111__Globals.Multiply(constdouble_conversion::DiyFp&)
MultiplyByPowerOfTen(int)301621161__Globals.MultiplyByPowerOfTen(int)
Square()352730141__Globals.Square()
AssignPowerUInt16(uint16_t,int)4311142101__Globals.AssignPowerUInt16(uint16_t,int)
ToHexString(char*,int)27293291__Globals.ToHexString(char*,int)
SubtractTimes(constdouble_conversion::Bignum&,int)21163291__Globals.SubtractTimes(constdouble_conversion::Bignum&,int)
ToPrecision(double,int,double_conversion::StringBuilder*)23173391__Globals.ToPrecision(double,int,double_conversion::StringBuilder*)
DoubleToAscii(double ,double_conversion::DoubleToStringConverter::DtoaMode,int,char*,int ,bool*,int*,int*)510102831__Globals.DoubleToAscii(double ,double_conversion::DoubleToStringConverter::DtoaMode,int,char*,int ,bool*,int*,int*)
StringToIeee(constchar*,int,int*,bool)18817154261__Globals.StringToIeee(constchar*,int,int*,bool)
adler32(uLong,constBytef*,uInt)552123321__Globals.adler32(uLong,constBytef*,uInt)
deflate(z_streamp,int)220162322101__Globals.deflate(z_streamp,int)
deflateSetDictionary(z_streamp,constBytef*,uInt)57173361__Globals.deflateSetDictionary(z_streamp,constBytef*,uInt)
deflateCopy(z_streamp,z_streamp)47041231__Globals.deflateCopy(z_streamp,z_streamp)
deflateBound(z_streamp,uLong)510133241__Globals.deflateBound(z_streamp,uLong)
deflateInit2_(z_streamp,int,int,int,int,int,constchar*,int)790123841__Globals.deflateInit2_(z_streamp,int,int,int,int,int,constchar*,int)
fill_window(deflate_state*)761164181__Globals.fill_window(deflate_state*)
deflate_fast(deflate_state*,int)521132221__Globals.deflate_fast(deflate_state*,int)
deflate_slow(deflate_state*,int)721185231__Globals.deflate_slow(deflate_state*,int)
deflate_rle(deflate_state*,int)531132261__Globals.deflate_rle(deflate_state*,int)
longest_match(deflate_state*,IPos)440942121__Globals.longest_match(deflate_state*,IPos)
inflateBack(z_streamp,in_func,void*,out_func,void*)311764165141__Globals.inflateBack(z_streamp,in_func,void*,out_func,void*)
inflate_fast(z_streamp,unsignedint)203131142211__Globals.inflate_fast(z_streamp,unsignedint)
inflate(z_streamp,int)6097165102171__Globals.inflate(z_streamp,int)
inflateSync(z_streamp)36163151__Globals.inflateSync(z_streamp)
inflateCopy(z_streamp,z_streamp)42071241__Globals.inflateCopy(z_streamp,z_streamp)
inflateInit2_(z_streamp,int,constchar*,int)31072421__Globals.inflateInit2_(z_streamp,int,constchar*,int)
updatewindow(z_streamp,constunsignedchar*,unsignedint)34093321__Globals.updatewindow(z_streamp,constunsignedchar*,unsignedint)
inflate_table(codetype,unsignedshort*,unsignedint,code**,unsignedint* ,unsignedshort*)18023336251__Globals.inflate_table(codetype,unsignedshort*,unsignedint,code** ,unsignedint*,unsignedshort*)
_tr_flush_block(deflate_state*,charf*,ulg,int)61096471__Globals._tr_flush_block(deflate_state*,charf*,ulg,int)
_tr_align(deflate_state*)31035141__Globals._tr_align(deflate_state*)
gen_bitlen(deflate_state*,tree_desc*)5331532131__Globals.gen_bitlen(deflate_state*,tree_desc*)
build_tree(deflate_state*,tree_desc*)39183271__Globals.build_tree(deflate_state*,tree_desc*)
scan_tree(deflate_state*,ct_data*,int)331113371__Globals.scan_tree(deflate_state*,ct_data*,int)
send_tree(deflate_state*,ct_data*,int)79114123131__Globals.send_tree(deflate_state*,ct_data*,int)
send_all_trees(deflate_state*,int,int,int)29138431__Globals.send_all_trees(deflate_state*,int,int,int)
compress_block(deflate_state*,constct_data*,constct_data*)59078391__Globals.compress_block(deflate_state*,constct_data*,constct_data*)
zlibCompileFlags()540172011__Globals.zlibCompileFlags()
pcre_compile2(constchar*,int,int*,constchar**,int*,constunsignedchar*)25716076231__Globals.pcre_compile2(constchar*,int,int*,constchar**,int* ,constunsignedchar*)
compile_regex(int,int,uschar**,constuschar**,int*,BOOL,BOOL,int,int* ,int*,branch_chain*,compile_data*,int*)107123813161__Globals.compile_regex(int,int,uschar**,constuschar**,int*,BOOL,BOOL ,int,int*,int*,branch_chain*,compile_data*,int*)
check_escape(constuschar**,int*,int,int,BOOL)13825865121__Globals.check_escape(constuschar**,int*,int,int,BOOL)
get_ucp(constuschar**,BOOL*,int*,int*)451143461__Globals.get_ucp(constuschar**,BOOL*,int*,int*)
find_parens(constuschar*,compile_data*,constuschar*,int,BOOL)714448551__Globals.find_parens(constuschar*,compile_data*,constuschar*,int,BOOL )
find_fixedlength(uschar*,int)1222674251__Globals.find_fixedlength(uschar*,int)
find_bracket(constuschar*,BOOL,int)541384321__Globals.find_bracket(constuschar*,BOOL,int)
find_recurse(constuschar*,BOOL)511374211__Globals.find_recurse(constuschar*,BOOL)
could_be_empty_branch(constuschar*,constuschar*,BOOL)1212785331__Globals.could_be_empty_branch(constuschar*,constuschar*,BOOL)
check_auto_possessive(int,int,BOOL,uschar*,constuschar*,int ,compile_data*)278412310741__Globals.check_auto_possessive(int,int,BOOL,uschar*,constuschar*,int ,compile_data*)
compile_branch(int*,uschar**,constuschar**,int*,int*,int* ,branch_chain*,compile_data*,int*)1 93355543591171__Globals.compile_branch(int*,uschar**,constuschar**,int*,int*,int* ,branch_chain*,compile_data*,int*)
find_firstassertedchar(constuschar*,int*,BOOL)430204341__Globals.find_firstassertedchar(constuschar*,int*,BOOL)
pcre_exec(constpcre*,constpcre_extra*,constchar*,int,int,int,int*,int)345499148361__Globals.pcre_exec(constpcre*,constpcre_extra*,constchar*,int,int,int ,int*,int)
match(constunsignedchar*,constuschar*,constuschar*,int,match_data* ,unsignedlong,eptrblock*,int,unsignedint)2 669151 163539851__Globals.match(constunsignedchar*,constuschar*,constuschar*,int ,match_data*,unsignedlong,eptrblock*,int,unsignedint)
pcre_fullinfo(constpcre*,constpcre_extra*,int,void*)740273441__Globals.pcre_fullinfo(constpcre*,constpcre_extra*,int,void*)
pcre_maketables()682243041__Globals.pcre_maketables()
_pcre_is_newline(constuschar*,int,constuschar*,int*,BOOL)340174511__Globals._pcre_is_newline(constuschar*,int,constuschar*,int*,BOOL)
_pcre_was_newline(constuschar*,int,constuschar*,int*,BOOL)380174511__Globals._pcre_was_newline(constuschar*,int,constuschar*,int*,BOOL)
pcre_study(constpcre*,int,constchar**)56074371__Globals.pcre_study(constpcre*,int,constchar**)
set_start_bits(constuschar*,uschar*,BOOL,BOOL,compile_data*)240410085101__Globals.set_start_bits(constuschar*,uschar*,BOOL,BOOL,compile_data*)
_pcre_valid_utf8(constuschar*,int)352183231__Globals._pcre_valid_utf8(constuschar*,int)
_pcre_xclass(int,constuschar*)511204251__Globals._pcre_xclass(int,constuschar*)
readFromDevice()650223021Poco.Base32DecoderBuf.readFromDevice()
close()1020413051Poco.Base32EncoderBuf.close()
convert(conststd::string&,UTF32String&)71222412Poco.UnicodeConverter.convert(conststd::string&,UTF32String&)
convert(constchar*,std::size_t,UTF32String&)40223012Poco.UnicodeConverter.convert(constchar*,std::size_t,UTF32String&)
convert(constchar*,UTF32String&)40222012Poco.UnicodeConverter.convert(constchar*,UTF32String&)
convert(conststd::string&,UTF16String&)121332412Poco.UnicodeConverter.convert(conststd::string&,UTF16String&)
convert(constchar*,std::size_t,UTF16String&)40223012Poco.UnicodeConverter.convert(constchar*,std::size_t,UTF16String&)
convert(constchar*,UTF16String&)40222012Poco.UnicodeConverter.convert(constchar*,UTF16String&)
convert(constUTF16String&,std::string&)50112312Poco.UnicodeConverter.convert(constUTF16String&,std::string&)
convert(constUTF32String&,std::string&)50112312Poco.UnicodeConverter.convert(constUTF32String&,std::string&)
convert(constUTF16Char*,std::size_t,std::string&)50113312Poco.UnicodeConverter.convert(constUTF16Char*,std::size_t,std::string& )
convert(constUTF32Char*,std::size_t,std::string&)10113012Poco.UnicodeConverter.convert(constUTF32Char*,std::size_t,std::string& )
convert(constUTF16Char*,std::string&)10112012Poco.UnicodeConverter.convert(constUTF16Char*,std::string&)
convert(constUTF32Char*,std::string&)10112012Poco.UnicodeConverter.convert(constUTF32Char*,std::string&)
swap(Poco::Timestamp&,Poco::Timestamp&)10112014Poco.__Globals.swap(Poco::Timestamp&,Poco::Timestamp&)
swap(Poco::File&,Poco::File&)10112014Poco.__Globals.swap(Poco::File&,Poco::File&)
swap<C,RC,RP>(SharedPtr<C,RC,RP>&,SharedPtr<C,RC,RP>&)10112014Poco.__Globals.swap<C,RC,RP>(SharedPtr<C,RC,RP>&,SharedPtr<C,RC,RP>&)
swap<C>(AutoPtr<C>&,AutoPtr<C>&)10112014Poco.__Globals.swap<C>(AutoPtr<C>&,AutoPtr<C>&)
swap(Poco::Path&,Poco::Path&)10112014Poco.__Globals.swap(Poco::Path&,Poco::Path&)
swap(Poco::TextIterator&,Poco::TextIterator&)10112014Poco.__Globals.swap(Poco::TextIterator&,Poco::TextIterator&)
format(conststd::string&,constPoco::Any&)30112113Poco.__Globals.format(conststd::string&,constPoco::Any&)
format(conststd::string&,constPoco::Any&,constPoco::Any&)30113113Poco.__Globals.format(conststd::string&,constPoco::Any& ,constPoco::Any&)
format(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&)30114113Poco.__Globals.format(conststd::string&,constPoco::Any& ,constPoco::Any&,constPoco::Any&)
format(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&)30115113Poco.__Globals.format(conststd::string&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&)
format(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&)30116113Poco.__Globals.format(conststd::string&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&,constPoco::Any&)
format(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&,constPoco::Any&)30117113Poco.__Globals.format(conststd::string&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&,constPoco::Any& ,constPoco::Any&)
format(std::string&,conststd::string&,constPoco::Any&)30113113Poco.__Globals.format(std::string&,conststd::string&,constPoco::Any&)
format(std::string&,conststd::string&,constPoco::Any&,constPoco::Any&)40114113Poco.__Globals.format(std::string&,conststd::string&,constPoco::Any& ,constPoco::Any&)
format(std::string&,conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&)50115113Poco.__Globals.format(std::string&,conststd::string&,constPoco::Any& ,constPoco::Any&,constPoco::Any&)
format(std::string&,conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&)60116113Poco.__Globals.format(std::string&,conststd::string&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&)
format(std::string&,conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&)70117113Poco.__Globals.format(std::string&,conststd::string&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&,constPoco::Any&)
format(std::string&,conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&,constPoco::Any&)80118113Poco.__Globals.format(std::string&,conststd::string&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&,constPoco::Any& ,constPoco::Any&)
format(std::string&,conststd::string&,conststd::vector<Any>&)281863613Poco.__Globals.format(std::string&,conststd::string&,conststd::vector <Any>&)
icompare<S,It>(constS&,typenameS::size_type,typenameS::size_type,It,It )201825510Poco.__Globals.icompare<S,It>(constS&,typenameS::size_type ,typenameS::size_type,It,It)
icompare<S>(constS&,constS&)171622610Poco.__Globals.icompare<S>(constS&,constS&)
icompare<S>(constS&,typenameS::size_type,constS&,typenameS::size_type)30214010Poco.__Globals.icompare<S>(constS&,typenameS::size_type,constS& ,typenameS::size_type)
icompare<S>(constS&,typenameS::size_type,constS&)30213010Poco.__Globals.icompare<S>(constS&,typenameS::size_type,constS&)
icompare<S>(constS&,typenameS::size_type,typenameS::size_type,constS&)10114010Poco.__Globals.icompare<S>(constS&,typenameS::size_type ,typenameS::size_type,constS&)
icompare<S>(constS&,typenameS::size_type,typenameS::size_type,constS& ,typenameS::size_type,typenameS::size_type)60316110Poco.__Globals.icompare<S>(constS&,typenameS::size_type ,typenameS::size_type,constS&,typenameS::size_type ,typenameS::size_type)
icompare<S>(constS&,typenameS::size_type,typenameS::size_type,constS& ,typenameS::size_type)60315110Poco.__Globals.icompare<S>(constS&,typenameS::size_type ,typenameS::size_type,constS&,typenameS::size_type)
icompare<S>(constS&,typenameS::size_type,typenameS::size_type ,consttypenameS::value_type*)211824510Poco.__Globals.icompare<S>(constS&,typenameS::size_type ,typenameS::size_type,consttypenameS::value_type*)

Statistics

Stat   # lines of code (LOC)   MaxNestedLoop   Cyclomatic Complexity (CC)   NestingDepth   # Parameters   # Variables   # Overloads
Sum:32 54234611 5892 6533 4702 31936 299
Average:21.050.227.51.722.241.523.48
Minimum:0010001
Maximum:2 669151 163531311789
Standard deviation:98.50.7436.882.431.685.2430.27
Variance:9 7020.541 3595.912.8327.42916.1
warningCritical    Rule warning: Methods too big
// <Name>Methods too big</Name>
warnif count > 0 from m in JustMyCode.Methods where 
   
m.NbLinesOfCode > 30 
   
orderby m.NbLinesOfCode descending
           
select new { m, m.NbLinesOfCode}

// Methods where NbLinesOfCode > 30 
// are extremely complex and should be split in smaller methods.
// See the definition of the NbLinesOfCode metric here 
// http://www.cppdepend.com/Metrics.aspx#NbLinesOfCode

292 methods matched

methods# lines of code (LOC)Full Name
match(constunsignedchar*,constuschar*,constuschar*,int,match_data* ,unsignedlong,eptrblock*,int,unsignedint)2 669__Globals.match(constunsignedchar*,constuschar*,constuschar*,int ,match_data*,unsignedlong,eptrblock*,int,unsignedint)
compile_branch(int*,uschar**,constuschar**,int*,int*,int* ,branch_chain*,compile_data*,int*)1 933__Globals.compile_branch(int*,uschar**,constuschar**,int*,int*,int* ,branch_chain*,compile_data*,int*)
doProlog(XML_Parser,constENCODING*,constchar*,constchar*,int ,constchar*,constchar**,XML_Bool)963__Globals.doProlog(XML_Parser,constENCODING*,constchar*,constchar*,int ,constchar*,constchar**,XML_Bool)
inflate(z_streamp,int)609__Globals.inflate(z_streamp,int)
transform()520Poco.SHA1Engine.transform()
convert(int,unsignedchar*,int)456Poco.Windows1251Encoding.convert(int,unsignedchar*,int)
doContent(XML_Parser,int,constENCODING*,constchar*,constchar* ,constchar**,XML_Bool)401__Globals.doContent(XML_Parser,int,constENCODING*,constchar* ,constchar*,constchar**,XML_Bool)
little2_prologTok(constENCODING*,constchar*,constchar*,constchar**)361__Globals.little2_prologTok(constENCODING*,constchar*,constchar* ,constchar**)
big2_prologTok(constENCODING*,constchar*,constchar*,constchar**)361__Globals.big2_prologTok(constENCODING*,constchar*,constchar* ,constchar**)
pcre_exec(constpcre*,constpcre_extra*,constchar*,int,int,int,int*,int)345__Globals.pcre_exec(constpcre*,constpcre_extra*,constchar*,int,int,int ,int*,int)
normal_prologTok(constENCODING*,constchar*,constchar*,constchar**)344__Globals.normal_prologTok(constENCODING*,constchar*,constchar* ,constchar**)
inflateBack(z_streamp,in_func,void*,out_func,void*)311__Globals.inflateBack(z_streamp,in_func,void*,out_func,void*)
convert(int,unsignedchar*,int)300Poco.Windows1250Encoding.convert(int,unsignedchar*,int)
parseChar<S>(CharIntType,S&)292Poco.JSON.Parser.parseChar<S>(CharIntType,S&)
little2_scanAtts(constENCODING*,constchar*,constchar*,constchar**)288__Globals.little2_scanAtts(constENCODING*,constchar*,constchar* ,constchar**)
big2_scanAtts(constENCODING*,constchar*,constchar*,constchar**)288__Globals.big2_scanAtts(constENCODING*,constchar*,constchar* ,constchar**)
check_auto_possessive(int,int,BOOL,uschar*,constuschar*,int ,compile_data*)278__Globals.check_auto_possessive(int,int,BOOL,uschar*,constuschar*,int ,compile_data*)
normal_scanAtts(constENCODING*,constchar*,constchar*,constchar**)274__Globals.normal_scanAtts(constENCODING*,constchar*,constchar* ,constchar**)
transform(UInt32*,constunsignedchar*)263Poco.MD5Engine.transform(UInt32*,constunsignedchar*)
pcre_compile2(constchar*,int,int*,constchar**,int*,constunsignedchar*)257__Globals.pcre_compile2(constchar*,int,int*,constchar**,int* ,constunsignedchar*)
storeAtts(XML_Parser,constENCODING*,constchar*,TAG_NAME*,BINDING**)255__Globals.storeAtts(XML_Parser,constENCODING*,constchar*,TAG_NAME* ,BINDING**)
set_start_bits(constuschar*,uschar*,BOOL,BOOL,compile_data*)240__Globals.set_start_bits(constuschar*,uschar*,BOOL,BOOL,compile_data*)
convert(int,unsignedchar*,int)231Poco.Latin2Encoding.convert(int,unsignedchar*,int)
little2_scanLt(constENCODING*,constchar*,constchar*,constchar**)229__Globals.little2_scanLt(constENCODING*,constchar*,constchar* ,constchar**)
big2_scanLt(constENCODING*,constchar*,constchar*,constchar**)229__Globals.big2_scanLt(constENCODING*,constchar*,constchar*,constchar** )
normal_scanLt(constENCODING*,constchar*,constchar*,constchar**)228__Globals.normal_scanLt(constENCODING*,constchar*,constchar* ,constchar**)
deflate(z_streamp,int)220__Globals.deflate(z_streamp,int)
inflate_fast(z_streamp,unsignedint)203__Globals.inflate_fast(z_streamp,unsignedint)
StringToIeee(constchar*,int,int*,bool)188__Globals.StringToIeee(constchar*,int,int*,bool)
inflate_table(codetype,unsignedshort*,unsignedint,code**,unsignedint* ,unsignedshort*)180__Globals.inflate_table(codetype,unsignedshort*,unsignedint,code** ,unsignedint*,unsignedshort*)
little2_scanPi(constENCODING*,constchar*,constchar*,constchar**)157__Globals.little2_scanPi(constENCODING*,constchar*,constchar* ,constchar**)
big2_scanPi(constENCODING*,constchar*,constchar*,constchar**)157__Globals.big2_scanPi(constENCODING*,constchar*,constchar*,constchar** )
XML_ExternalEntityParserCreate(XML_Parser,constXML_Char* ,constXML_Char*)156__Globals.XML_ExternalEntityParserCreate(XML_Parser,constXML_Char* ,constXML_Char*)
normal_scanPi(constENCODING*,constchar*,constchar*,constchar**)156__Globals.normal_scanPi(constENCODING*,constchar*,constchar* ,constchar**)
formatOne(std::string&,std::string::const_iterator& ,conststd::string::const_iterator&,std::vector<Any>::const_iterator&)153Poco.anonymous_namespace{format.cpp}.__Globals.formatOne(std::string& ,std::string::const_iterator&,conststd::string::const_iterator& ,std::vector<Any>::const_iterator&)
transform(UInt32*,constunsignedchar*)151Poco.MD4Engine.transform(UInt32*,constunsignedchar*)
storeEntityValue(XML_Parser,constENCODING*,constchar*,constchar*)141__Globals.storeEntityValue(XML_Parser,constENCODING*,constchar* ,constchar*)
check_escape(constuschar**,int*,int,int,BOOL)138__Globals.check_escape(constuschar**,int*,int,int,BOOL)
appendAttributeValue(XML_Parser,constENCODING*,XML_Bool,constchar* ,constchar*,STRING_POOL*)130__Globals.appendAttributeValue(XML_Parser,constENCODING*,XML_Bool ,constchar*,constchar*,STRING_POOL*)
parserInit(XML_Parser,constXML_Char*)128__Globals.parserInit(XML_Parser,constXML_Char*)
format(constPoco::Message&,std::string&)125Poco.PatternFormatter.format(constPoco::Message&,std::string&)
parse(conststd::string&,conststd::string&,Poco::DateTime&,int&)124Poco.DateTimeParser.parse(conststd::string&,conststd::string& ,Poco::DateTime&,int&)
find_fixedlength(uschar*,int)122__Globals.find_fixedlength(uschar*,int)
could_be_empty_branch(constuschar*,constuschar*,BOOL)121__Globals.could_be_empty_branch(constuschar*,constuschar*,BOOL)
normal_contentTok(constENCODING*,constchar*,constchar*,constchar**)119__Globals.normal_contentTok(constENCODING*,constchar*,constchar* ,constchar**)
little2_contentTok(constENCODING*,constchar*,constchar*,constchar**)119__Globals.little2_contentTok(constENCODING*,constchar*,constchar* ,constchar**)
big2_contentTok(constENCODING*,constchar*,constchar*,constchar**)119__Globals.big2_contentTok(constENCODING*,constchar*,constchar* ,constchar**)
strToInt<I>(constchar*,I&,short,char)117Poco.__Globals.strToInt<I>(constchar*,I&,short,char)
convert(int,unsignedchar*,int)116Poco.Windows1252Encoding.convert(int,unsignedchar*,int)
parse(std::istream&)113Poco.JSON.Template.parse(std::istream&)
compile_regex(int,int,uschar**,constuschar**,int*,BOOL,BOOL,int,int* ,int*,branch_chain*,compile_data*,int*)107__Globals.compile_regex(int,int,uschar**,constuschar**,int*,BOOL,BOOL ,int,int*,int*,branch_chain*,compile_data*,int*)
normal_scanEndTag(constENCODING*,constchar*,constchar*,constchar**)106__Globals.normal_scanEndTag(constENCODING*,constchar*,constchar* ,constchar**)
little2_scanEndTag(constENCODING*,constchar*,constchar*,constchar**)106__Globals.little2_scanEndTag(constENCODING*,constchar*,constchar* ,constchar**)
big2_scanEndTag(constENCODING*,constchar*,constchar*,constchar**)106__Globals.big2_scanEndTag(constENCODING*,constchar*,constchar* ,constchar**)
normal_cdataSectionTok(constENCODING*,constchar*,constchar* ,constchar**)103__Globals.normal_cdataSectionTok(constENCODING*,constchar*,constchar* ,constchar**)
little2_cdataSectionTok(constENCODING*,constchar*,constchar* ,constchar**)103__Globals.little2_cdataSectionTok(constENCODING*,constchar*,constchar* ,constchar**)
big2_cdataSectionTok(constENCODING*,constchar*,constchar*,constchar**)103__Globals.big2_cdataSectionTok(constENCODING*,constchar*,constchar* ,constchar**)
close()102Poco.Base32EncoderBuf.close()
parserCreate(constXML_Char*,constXML_Memory_Handling_Suite* ,constXML_Char*,DTD*)100__Globals.parserCreate(constXML_Char*,constXML_Memory_Handling_Suite* ,constXML_Char*,DTD*)
parseVMS(conststd::string&)93Poco.Path.parseVMS(conststd::string&)
doCdataSection(XML_Parser,constENCODING*,constchar**,constchar* ,constchar**,XML_Bool)92__Globals.doCdataSection(XML_Parser,constENCODING*,constchar** ,constchar*,constchar**,XML_Bool)
normal_scanPercent(constENCODING*,constchar*,constchar*,constchar**)92__Globals.normal_scanPercent(constENCODING*,constchar*,constchar* ,constchar**)
normal_scanPoundName(constENCODING*,constchar*,constchar*,constchar**)92__Globals.normal_scanPoundName(constENCODING*,constchar*,constchar* ,constchar**)
little2_scanPercent(constENCODING*,constchar*,constchar*,constchar**)92__Globals.little2_scanPercent(constENCODING*,constchar*,constchar* ,constchar**)
little2_scanPoundName(constENCODING*,constchar*,constchar*,constchar** )92__Globals.little2_scanPoundName(constENCODING*,constchar*,constchar* ,constchar**)
big2_scanPercent(constENCODING*,constchar*,constchar*,constchar**)92__Globals.big2_scanPercent(constENCODING*,constchar*,constchar* ,constchar**)
big2_scanPoundName(constENCODING*,constchar*,constchar*,constchar**)92__Globals.big2_scanPoundName(constENCODING*,constchar*,constchar* ,constchar**)
map(bool,bool)92Poco.Net.NetworkInterface.map(bool,bool)
append(std::string&,constPoco::DateTime&,conststd::string&,int)91Poco.DateTimeFormatter.append(std::string&,constPoco::DateTime& ,conststd::string&,int)
addBinding(XML_Parser,PREFIX*,constATTRIBUTE_ID*,constXML_Char* ,BINDING**)90__Globals.addBinding(XML_Parser,PREFIX*,constATTRIBUTE_ID* ,constXML_Char*,BINDING**)
normal_scanRef(constENCODING*,constchar*,constchar*,constchar**)88__Globals.normal_scanRef(constENCODING*,constchar*,constchar* ,constchar**)
little2_scanRef(constENCODING*,constchar*,constchar*,constchar**)88__Globals.little2_scanRef(constENCODING*,constchar*,constchar* ,constchar**)
big2_scanRef(constENCODING*,constchar*,constchar*,constchar**)88__Globals.big2_scanRef(constENCODING*,constchar*,constchar* ,constchar**)
handleError(int)87Poco.XML.ParserEngine.handleError(int)
normal_getAtts(constENCODING*,constchar*,int,ATTRIBUTE*)85__Globals.normal_getAtts(constENCODING*,constchar*,int,ATTRIBUTE*)
little2_getAtts(constENCODING*,constchar*,int,ATTRIBUTE*)85__Globals.little2_getAtts(constENCODING*,constchar*,int,ATTRIBUTE*)
big2_getAtts(constENCODING*,constchar*,int,ATTRIBUTE*)85__Globals.big2_getAtts(constENCODING*,constchar*,int,ATTRIBUTE*)
IdentifierToken()85Poco.CppParser.IdentifierToken.IdentifierToken()
getReasonForStatus(Poco::Net::HTTPResponse::HTTPStatus)83Poco.Net.HTTPResponse.getReasonForStatus (Poco::Net::HTTPResponse::HTTPStatus)
initScan(constENCODING*const*,constINIT_ENCODING*,int,constchar* ,constchar*,constchar**)81__Globals.initScan(constENCODING*const*,constINIT_ENCODING*,int ,constchar*,constchar*,constchar**)
extractName(conststd::string&)81Poco.CppParser.Symbol.extractName(conststd::string&)
XML_GetBuffer(XML_Parser,int)80__Globals.XML_GetBuffer(XML_Parser,int)
deflateInit2_(z_streamp,int,int,int,int,int,constchar*,int)79__Globals.deflateInit2_(z_streamp,int,int,int,int,int,constchar*,int)
send_tree(deflate_state*,ct_data*,int)79__Globals.send_tree(deflate_state*,ct_data*,int)
parse(std::string::const_iterator,std::string::const_iterator)79Poco.Net.HTTPAuthenticationParams.parse(std::string::const_iterator ,std::string::const_iterator)
fill_window(deflate_state*)76__Globals.fill_window(deflate_state*)
XML_ParseBuffer(XML_Parser,int,int)76__Globals.XML_ParseBuffer(XML_Parser,int,int)
select(SocketList&,SocketList&,SocketList&,constPoco::Timespan&)76Poco.Net.Socket.select(SocketList&,SocketList&,SocketList& ,constPoco::Timespan&)
isAllowed(std::size_t)76Poco.Data.RowFilter.isAllowed(std::size_t)
dtdCopy(XML_Parser,DTD*,constDTD*,constXML_Memory_Handling_Suite*)75__Globals.dtdCopy(XML_Parser,DTD*,constDTD* ,constXML_Memory_Handling_Suite*)
parseFunc(constPoco::Token*,std::string&)75Poco.CppParser.Parser.parseFunc(constPoco::Token*,std::string&)
pcre_fullinfo(constpcre*,constpcre_extra*,int,void*)74__Globals.pcre_fullinfo(constpcre*,constpcre_extra*,int,void*)
error(int,conststd::string&)74Poco.Net.SocketImpl.error(int,conststd::string&)
processXmlDecl(XML_Parser,int,constchar*,constchar*)73__Globals.processXmlDecl(XML_Parser,int,constchar*,constchar*)
deflate_slow(deflate_state*,int)72__Globals.deflate_slow(deflate_state*,int)
lookup(XML_Parser,HASH_TABLE*,KEY,size_t)72__Globals.lookup(XML_Parser,HASH_TABLE*,KEY,size_t)
find_parens(constuschar*,compile_data*,constuschar*,int,BOOL)71__Globals.find_parens(constuschar*,compile_data*,constuschar*,int,BOOL )
launchImpl(conststd::string&,constArgsImpl&,conststd::string& ,Poco::Pipe*,Poco::Pipe*,Poco::Pipe*,constEnvImpl&)70Poco.ProcessImpl.launchImpl(conststd::string&,constArgsImpl& ,conststd::string&,Poco::Pipe*,Poco::Pipe*,Poco::Pipe*,constEnvImpl&)
XML_Parse(XML_Parser,constchar*,int,int)70__Globals.XML_Parse(XML_Parser,constchar*,int,int)
pcre_maketables()68__Globals.pcre_maketables()

Statistics

Stat   # lines of code (LOC)
Sum:29 331
Average:100.45
Minimum:31
Maximum:2 669
Standard deviation:208.61
Variance:43 519
warningCritical    Rule warning: Methods too complex
// <Name>Methods too complex</Name>
warnif count > 0 from m in JustMyCode.Methods where 
  
m.CyclomaticComplexity > 20 ||
  
m.MaxNestedLoop > 3 ||
  
m.NestingDepth > 5
  
orderby m.CyclomaticComplexity descending,
          
m.MaxNestedLoop descending,
          
m.NestingDepth descending
select new { m, m.CyclomaticComplexity, 
                
m.MaxNestedLoop,
                
m.NestingDepth  }

// Methods where CyclomaticComplexity > 20 
// or MaxNestedLoop > 40
// or NestingDepth > 4
// are hard to understand and maintain
// and should be split in smaller methods.
// See the definition of the complexity metrics here:
// http://www.cppdepend.com/Metrics.aspx#CC
// http://www.cppdepend.com/Metrics.aspx#ILCC
// http://www.cppdepend.com/Metrics.aspx#ILNestingDepth

145 methods matched

methodsCyclomatic Complexity (CC)MaxNestedLoopNestingDepthFull Name
match(constunsignedchar*,constuschar*,constuschar*,int,match_data* ,unsignedlong,eptrblock*,int,unsignedint)1 1631553__Globals.match(constunsignedchar*,constuschar*,constuschar*,int ,match_data*,unsignedlong,eptrblock*,int,unsignedint)
compile_branch(int*,uschar**,constuschar**,int*,int*,int* ,branch_chain*,compile_data*,int*)554535__Globals.compile_branch(int*,uschar**,constuschar**,int*,int*,int* ,branch_chain*,compile_data*,int*)
doProlog(XML_Parser,constENCODING*,constchar*,constchar*,int ,constchar*,constchar**,XML_Bool)247212__Globals.doProlog(XML_Parser,constENCODING*,constchar*,constchar*,int ,constchar*,constchar**,XML_Bool)
convert(int,unsignedchar*,int)22802Poco.Windows1251Encoding.convert(int,unsignedchar*,int)
inflate(z_streamp,int)165710__Globals.inflate(z_streamp,int)
convert(int,unsignedchar*,int)15002Poco.Windows1250Encoding.convert(int,unsignedchar*,int)
little2_prologTok(constENCODING*,constchar*,constchar*,constchar**)13416__Globals.little2_prologTok(constENCODING*,constchar*,constchar* ,constchar**)
big2_prologTok(constENCODING*,constchar*,constchar*,constchar**)13416__Globals.big2_prologTok(constENCODING*,constchar*,constchar* ,constchar**)
normal_prologTok(constENCODING*,constchar*,constchar*,constchar**)12816__Globals.normal_prologTok(constENCODING*,constchar*,constchar* ,constchar**)
check_auto_possessive(int,int,BOOL,uschar*,constuschar*,int ,compile_data*)123410__Globals.check_auto_possessive(int,int,BOOL,uschar*,constuschar*,int ,compile_data*)
convert(int,unsignedchar*,int)11602Poco.Latin2Encoding.convert(int,unsignedchar*,int)
little2_scanAtts(constENCODING*,constchar*,constchar*,constchar**)11428__Globals.little2_scanAtts(constENCODING*,constchar*,constchar* ,constchar**)
big2_scanAtts(constENCODING*,constchar*,constchar*,constchar**)11428__Globals.big2_scanAtts(constENCODING*,constchar*,constchar* ,constchar**)
doContent(XML_Parser,int,constENCODING*,constchar*,constchar* ,constchar**,XML_Bool)10926__Globals.doContent(XML_Parser,int,constENCODING*,constchar* ,constchar*,constchar**,XML_Bool)
normal_scanAtts(constENCODING*,constchar*,constchar*,constchar**)10728__Globals.normal_scanAtts(constENCODING*,constchar*,constchar* ,constchar**)
set_start_bits(constuschar*,uschar*,BOOL,BOOL,compile_data*)10048__Globals.set_start_bits(constuschar*,uschar*,BOOL,BOOL,compile_data*)
pcre_exec(constpcre*,constpcre_extra*,constchar*,int,int,int,int*,int)99414__Globals.pcre_exec(constpcre*,constpcre_extra*,constchar*,int,int,int ,int*,int)
little2_scanLt(constENCODING*,constchar*,constchar*,constchar**)9227__Globals.little2_scanLt(constENCODING*,constchar*,constchar* ,constchar**)
big2_scanLt(constENCODING*,constchar*,constchar*,constchar**)9227__Globals.big2_scanLt(constENCODING*,constchar*,constchar*,constchar** )
normal_scanLt(constENCODING*,constchar*,constchar*,constchar**)8727__Globals.normal_scanLt(constENCODING*,constchar*,constchar* ,constchar**)
could_be_empty_branch(constuschar*,constuschar*,BOOL)7825__Globals.could_be_empty_branch(constuschar*,constuschar*,BOOL)
StringToIeee(constchar*,int,int*,bool)7115__Globals.StringToIeee(constchar*,int,int*,bool)
storeAtts(XML_Parser,constENCODING*,constchar*,TAG_NAME*,BINDING**)7065__Globals.storeAtts(XML_Parser,constENCODING*,constchar*,TAG_NAME* ,BINDING**)
find_fixedlength(uschar*,int)6724__Globals.find_fixedlength(uschar*,int)
inflateBack(z_streamp,in_func,void*,out_func,void*)64716__Globals.inflateBack(z_streamp,in_func,void*,out_func,void*)
strToInt<I>(constchar*,I&,short,char)6414Poco.__Globals.strToInt<I>(constchar*,I&,short,char)
parseChar<S>(CharIntType,S&)6316Poco.JSON.Parser.parseChar<S>(CharIntType,S&)
little2_scanPi(constENCODING*,constchar*,constchar*,constchar**)6226__Globals.little2_scanPi(constENCODING*,constchar*,constchar* ,constchar**)
big2_scanPi(constENCODING*,constchar*,constchar*,constchar**)6226__Globals.big2_scanPi(constENCODING*,constchar*,constchar*,constchar** )
deflate(z_streamp,int)62132__Globals.deflate(z_streamp,int)
pcre_compile2(constchar*,int,int*,constchar**,int*,constunsignedchar*)6017__Globals.pcre_compile2(constchar*,int,int*,constchar**,int* ,constunsignedchar*)
normal_scanPi(constENCODING*,constchar*,constchar*,constchar**)5926__Globals.normal_scanPi(constENCODING*,constchar*,constchar* ,constchar**)
check_escape(constuschar**,int*,int,int,BOOL)5826__Globals.check_escape(constuschar**,int*,int,int,BOOL)
convert(int,unsignedchar*,int)5802Poco.Windows1252Encoding.convert(int,unsignedchar*,int)
little2_contentTok(constENCODING*,constchar*,constchar*,constchar**)5216__Globals.little2_contentTok(constENCODING*,constchar*,constchar* ,constchar**)
big2_contentTok(constENCODING*,constchar*,constchar*,constchar**)5216__Globals.big2_contentTok(constENCODING*,constchar*,constchar* ,constchar**)
storeEntityValue(XML_Parser,constENCODING*,constchar*,constchar*)5025__Globals.storeEntityValue(XML_Parser,constENCODING*,constchar* ,constchar*)
normal_contentTok(constENCODING*,constchar*,constchar*,constchar**)4916__Globals.normal_contentTok(constENCODING*,constchar*,constchar* ,constchar**)
little2_scanEndTag(constENCODING*,constchar*,constchar*,constchar**)4825__Globals.little2_scanEndTag(constENCODING*,constchar*,constchar* ,constchar**)
big2_scanEndTag(constENCODING*,constchar*,constchar*,constchar**)4825__Globals.big2_scanEndTag(constENCODING*,constchar*,constchar* ,constchar**)
format(constPoco::Message&,std::string&)4814Poco.PatternFormatter.format(constPoco::Message&,std::string&)
normal_scanEndTag(constENCODING*,constchar*,constchar*,constchar**)4525__Globals.normal_scanEndTag(constENCODING*,constchar*,constchar* ,constchar**)
find_parens(constuschar*,compile_data*,constuschar*,int,BOOL)4448__Globals.find_parens(constuschar*,compile_data*,constuschar*,int,BOOL )
little2_cdataSectionTok(constENCODING*,constchar*,constchar* ,constchar**)4414__Globals.little2_cdataSectionTok(constENCODING*,constchar*,constchar* ,constchar**)
big2_cdataSectionTok(constENCODING*,constchar*,constchar*,constchar**)4414__Globals.big2_cdataSectionTok(constENCODING*,constchar*,constchar* ,constchar**)
little2_getAtts(constENCODING*,constchar*,int,ATTRIBUTE*)4315__Globals.little2_getAtts(constENCODING*,constchar*,int,ATTRIBUTE*)
big2_getAtts(constENCODING*,constchar*,int,ATTRIBUTE*)4315__Globals.big2_getAtts(constENCODING*,constchar*,int,ATTRIBUTE*)
little2_scanPoundName(constENCODING*,constchar*,constchar*,constchar** )4314__Globals.little2_scanPoundName(constENCODING*,constchar*,constchar* ,constchar**)
big2_scanPoundName(constENCODING*,constchar*,constchar*,constchar**)4314__Globals.big2_scanPoundName(constENCODING*,constchar*,constchar* ,constchar**)
parse(conststd::string&,conststd::string&,Poco::DateTime&,int&)42419Poco.DateTimeParser.parse(conststd::string&,conststd::string& ,Poco::DateTime&,int&)
handleError(int)4203Poco.XML.ParserEngine.handleError(int)
getReasonForStatus(Poco::Net::HTTPResponse::HTTPStatus)4202Poco.Net.HTTPResponse.getReasonForStatus (Poco::Net::HTTPResponse::HTTPStatus)
appendAttributeValue(XML_Parser,constENCODING*,XML_Bool,constchar* ,constchar*,STRING_POOL*)4125__Globals.appendAttributeValue(XML_Parser,constENCODING*,XML_Bool ,constchar*,constchar*,STRING_POOL*)
normal_cdataSectionTok(constENCODING*,constchar*,constchar* ,constchar**)4114__Globals.normal_cdataSectionTok(constENCODING*,constchar*,constchar* ,constchar**)
normal_scanPoundName(constENCODING*,constchar*,constchar*,constchar**)4114__Globals.normal_scanPoundName(constENCODING*,constchar*,constchar* ,constchar**)
little2_scanPercent(constENCODING*,constchar*,constchar*,constchar**)4114__Globals.little2_scanPercent(constENCODING*,constchar*,constchar* ,constchar**)
big2_scanPercent(constENCODING*,constchar*,constchar*,constchar**)4114__Globals.big2_scanPercent(constENCODING*,constchar*,constchar* ,constchar**)
close()4103Poco.Base32EncoderBuf.close()
normal_getAtts(constENCODING*,constchar*,int,ATTRIBUTE*)3915__Globals.normal_getAtts(constENCODING*,constchar*,int,ATTRIBUTE*)
normal_scanPercent(constENCODING*,constchar*,constchar*,constchar**)3914__Globals.normal_scanPercent(constENCODING*,constchar*,constchar* ,constchar**)
parseVMS(conststd::string&)38210Poco.Path.parseVMS(conststd::string&)
little2_sameName(constENCODING*,constchar*,constchar*)3816__Globals.little2_sameName(constENCODING*,constchar*,constchar*)
big2_sameName(constENCODING*,constchar*,constchar*)3816__Globals.big2_sameName(constENCODING*,constchar*,constchar*)
find_bracket(constuschar*,BOOL,int)3814__Globals.find_bracket(constuschar*,BOOL,int)
little2_scanRef(constENCODING*,constchar*,constchar*,constchar**)3814__Globals.little2_scanRef(constENCODING*,constchar*,constchar* ,constchar**)
big2_scanRef(constENCODING*,constchar*,constchar*,constchar**)3814__Globals.big2_scanRef(constENCODING*,constchar*,constchar* ,constchar**)
finish(std::istream&)3803Poco.CppParser.OperatorToken.finish(std::istream&)
error(int,conststd::string&)3802Poco.Net.SocketImpl.error(int,conststd::string&)
find_recurse(constuschar*,BOOL)3714__Globals.find_recurse(constuschar*,BOOL)
normal_sameName(constENCODING*,constchar*,constchar*)3616__Globals.normal_sameName(constENCODING*,constchar*,constchar*)
normal_scanRef(constENCODING*,constchar*,constchar*,constchar**)3614__Globals.normal_scanRef(constENCODING*,constchar*,constchar* ,constchar**)
getContext(XML_Parser)3464__Globals.getContext(XML_Parser)
extractName(conststd::string&)3424Poco.CppParser.Symbol.extractName(conststd::string&)
inflate_table(codetype,unsignedshort*,unsignedint,code**,unsignedint* ,unsignedshort*)3323__Globals.inflate_table(codetype,unsignedshort*,unsignedint,code** ,unsignedint*,unsignedshort*)
little2_isPublicId(constENCODING*,constchar*,constchar*,constchar**)3314__Globals.little2_isPublicId(constENCODING*,constchar*,constchar* ,constchar**)
big2_isPublicId(constENCODING*,constchar*,constchar*,constchar**)3314__Globals.big2_isPublicId(constENCODING*,constchar*,constchar* ,constchar**)
formatOne(std::string&,std::string::const_iterator& ,conststd::string::const_iterator&,std::vector<Any>::const_iterator&)3305Poco.anonymous_namespace{format.cpp}.__Globals.formatOne(std::string& ,std::string::const_iterator&,conststd::string::const_iterator& ,std::vector<Any>::const_iterator&)
setProperty(conststd::string&,conststd::string&)3302Poco.Net.RemoteSyslogChannel.setProperty(conststd::string& ,conststd::string&)
parse(std::istream&)3215Poco.JSON.Template.parse(std::istream&)
getProperty(conststd::string&)3202Poco.Net.RemoteSyslogChannel.getProperty(conststd::string&)
parseFunc(constPoco::Token*,std::string&)3124Poco.CppParser.Parser.parseFunc(constPoco::Token*,std::string&)
inflate_fast(z_streamp,unsignedint)31114__Globals.inflate_fast(z_streamp,unsignedint)
append(std::string&,constPoco::DateTime&,conststd::string&,int)3115Poco.DateTimeFormatter.append(std::string&,constPoco::DateTime& ,conststd::string&,int)
normal_isPublicId(constENCODING*,constchar*,constchar*,constchar**)3014__Globals.normal_isPublicId(constENCODING*,constchar*,constchar* ,constchar**)
little2_charRefNumber(constENCODING*,constchar*)3014__Globals.little2_charRefNumber(constENCODING*,constchar*)
big2_charRefNumber(constENCODING*,constchar*)3014__Globals.big2_charRefNumber(constENCODING*,constchar*)
little2_ignoreSectionTok(constENCODING*,constchar*,constchar* ,constchar**)2916__Globals.little2_ignoreSectionTok(constENCODING*,constchar* ,constchar*,constchar**)
big2_ignoreSectionTok(constENCODING*,constchar*,constchar*,constchar** )2916__Globals.big2_ignoreSectionTok(constENCODING*,constchar*,constchar* ,constchar**)
normal_ignoreSectionTok(constENCODING*,constchar*,constchar* ,constchar**)2816__Globals.normal_ignoreSectionTok(constENCODING*,constchar*,constchar* ,constchar**)
normal_charRefNumber(constENCODING*,constchar*)2814__Globals.normal_charRefNumber(constENCODING*,constchar*)
little2_scanLit(int,constENCODING*,constchar*,constchar*,constchar**)2814__Globals.little2_scanLit(int,constENCODING*,constchar*,constchar* ,constchar**)
big2_scanLit(int,constENCODING*,constchar*,constchar*,constchar**)2814__Globals.big2_scanLit(int,constENCODING*,constchar*,constchar* ,constchar**)
initScan(constENCODING*const*,constINIT_ENCODING*,int,constchar* ,constchar*,constchar**)2807__Globals.initScan(constENCODING*const*,constINIT_ENCODING*,int ,constchar*,constchar*,constchar**)
pcre_fullinfo(constpcre*,constpcre_extra*,int,void*)2703__Globals.pcre_fullinfo(constpcre*,constpcre_extra*,int,void*)
doCdataSection(XML_Parser,constENCODING*,constchar**,constchar* ,constchar**,XML_Bool)2627__Globals.doCdataSection(XML_Parser,constENCODING*,constchar** ,constchar*,constchar**,XML_Bool)
dtdCopy(XML_Parser,DTD*,constDTD*,constXML_Memory_Handling_Suite*)2624__Globals.dtdCopy(XML_Parser,DTD*,constDTD* ,constXML_Memory_Handling_Suite*)
normal_scanLit(int,constENCODING*,constchar*,constchar*,constchar**)2614__Globals.normal_scanLit(int,constENCODING*,constchar*,constchar* ,constchar**)
start(char,std::istream&)2602Poco.CppParser.OperatorToken.start(char,std::istream&)
encodeWord(conststd::string&,conststd::string&)2514Poco.Net.MailMessage.encodeWord(conststd::string&,conststd::string&)
handleLastErrorImpl(conststd::string&)2502Poco.FileImpl.handleLastErrorImpl(conststd::string&)

Statistics

Stat   Cyclomatic Complexity (CC)   MaxNestedLoop   NestingDepth
Sum:8 091216907
Average:55.81.496.26
Minimum:301
Maximum:1 1631553
Standard deviation:108.551.75.75
Variance:11 7822.8833.09
warningCritical    Rule warning: Methods potentially poorly commented
// <Name>Methods potentially poorly commented</Name>
warnif count > 0 from m in JustMyCode.Methods where 
  
m.PercentageComment < 20 && 
  
m.NbLinesOfCode > 20  
  
orderby m.PercentageComment ascending
select new { m, m.PercentageComment, m.NbLinesOfCode, m.NbLinesOfComment }

// Methods where %Comment < 20 and that have 
// at least 20 lines of code might need to be more commented.
// See the definition of the Comments metric here 
// http://www.cppdepend.com/Metrics.aspx#PercentageComment
// http://www.cppdepend.com/Metrics.aspx#NbLinesOfComment 

376 methods matched

methodsPercentage Comment# lines of code (LOC)# lines of commentFull Name
MultiplyByPowerOfTen(int)0300__Globals.MultiplyByPowerOfTen(int)
Square()0350__Globals.Square()
AssignPowerUInt16(uint16_t,int)0430__Globals.AssignPowerUInt16(uint16_t,int)
DivideModuloIntBignum(constdouble_conversion::Bignum&)0290__Globals.DivideModuloIntBignum(constdouble_conversion::Bignum&)
ToHexString(char*,int)0270__Globals.ToHexString(char*,int)
PlusCompare(constdouble_conversion::Bignum& ,constdouble_conversion::Bignum&,constdouble_conversion::Bignum&)0280__Globals.PlusCompare(constdouble_conversion::Bignum& ,constdouble_conversion::Bignum&,constdouble_conversion::Bignum&)
SubtractTimes(constdouble_conversion::Bignum&,int)0210__Globals.SubtractTimes(constdouble_conversion::Bignum&,int)
CreateExponentialRepresentation(constchar*,int,int ,double_conversion::StringBuilder*)0240__Globals.CreateExponentialRepresentation(constchar*,int,int ,double_conversion::StringBuilder*)
CreateDecimalRepresentation(constchar*,int,int,int ,double_conversion::StringBuilder*)0280__Globals.CreateDecimalRepresentation(constchar*,int,int,int ,double_conversion::StringBuilder*)
ToExponential(double,int,double_conversion::StringBuilder*)0260__Globals.ToExponential(double,int,double_conversion::StringBuilder*)
ToPrecision(double,int,double_conversion::StringBuilder*)0230__Globals.ToPrecision(double,int,double_conversion::StringBuilder*)
DoubleToAscii(double ,double_conversion::DoubleToStringConverter::DtoaMode,int,char*,int ,bool*,int*,int*)0510__Globals.DoubleToAscii(double ,double_conversion::DoubleToStringConverter::DtoaMode,int,char*,int ,bool*,int*,int*)
StringToIeee(constchar*,int,int*,bool)01880__Globals.StringToIeee(constchar*,int,int*,bool)
close()01020Poco.Base32EncoderBuf.close()
writeToDevice(char)0300Poco.Base32EncoderBuf.writeToDevice(char)
format(std::string&,conststd::string&,conststd::vector<Any>&)0280Poco.__Globals.format(std::string&,conststd::string&,conststd::vector <Any>&)
icompare<S>(constS&,typenameS::size_type,typenameS::size_type ,consttypenameS::value_type*)0210Poco.__Globals.icompare<S>(constS&,typenameS::size_type ,typenameS::size_type,consttypenameS::value_type*)
handleLastErrorImpl(conststd::string&)0420Poco.FileImpl.handleLastErrorImpl(conststd::string&)
housekeep()0290Poco.ThreadPool.housekeep()
parseUnix(conststd::string&)0320Poco.Path.parseUnix(conststd::string&)
parseVMS(conststd::string&)0930Poco.Path.parseVMS(conststd::string&)
parseGuess(conststd::string&)0460Poco.Path.parseGuess(conststd::string&)
buildVMS()0240Poco.Path.buildVMS()
matchSet(Poco::TextIterator&,constPoco::TextIterator&,int)0410Poco.Glob.matchSet(Poco::TextIterator&,constPoco::TextIterator&,int)
collect(constPoco::Path&,constPoco::Path&,constPoco::Path& ,conststd::string&,std::set<std::string>&,int)0220Poco.Glob.collect(constPoco::Path&,constPoco::Path&,constPoco::Path& ,conststd::string&,std::set<std::string>&,int)
run()0490Poco.WindowsDirectoryWatcherStrategy.run()
osDisplayNameImpl()0450Poco.EnvironmentImpl.osDisplayNameImpl()
convert(int,unsignedchar*,int)02310Poco.Latin2Encoding.convert(int,unsignedchar*,int)
StringTokenizer(conststd::string&,conststd::string&,int)0240Poco.StringTokenizer.StringTokenizer(conststd::string& ,conststd::string&,int)
parse(conststd::string&,conststd::string&,Poco::DateTime&,int&)01240Poco.DateTimeParser.parse(conststd::string&,conststd::string& ,Poco::DateTime&,int&)
parseTZD(std::string::const_iterator& ,conststd::string::const_iterator&)0300Poco.DateTimeParser.parseTZD(std::string::const_iterator& ,conststd::string::const_iterator&)
icompare(conststd::string&,std::string::size_type ,std::string::size_type,std::string::const_iterator ,std::string::const_iterator)0220Poco.UTF8.icompare(conststd::string&,std::string::size_type ,std::string::size_type,std::string::const_iterator ,std::string::const_iterator)
readFromDevice()0360Poco.Base64DecoderBuf.readFromDevice()
close()0320Poco.Base64EncoderBuf.close()
writeToDevice(char)0250Poco.Base64EncoderBuf.writeToDevice(char)
readFromDevice(char*,std::streamsize)0350Poco.DeflatingStreamBuf.readFromDevice(char*,std::streamsize)
writeToDevice(constchar*,std::streamsize)0210Poco.DeflatingStreamBuf.writeToDevice(constchar*,std::streamsize)
sync()0230Poco.DeflatingStreamBuf.sync()
readFromDevice()0240Poco.HexBinaryDecoderBuf.readFromDevice()
readFromDevice(char*,std::streamsize)0350Poco.InflatingStreamBuf.readFromDevice(char*,std::streamsize)
writeToDevice(constchar*,std::streamsize)0270Poco.InflatingStreamBuf.writeToDevice(constchar*,std::streamsize)
convert(int,unsignedchar*,int)03000Poco.Windows1250Encoding.convert(int,unsignedchar*,int)
convert(int,unsignedchar*,int)04560Poco.Windows1251Encoding.convert(int,unsignedchar*,int)
tryWriteLockImpl()0220Poco.RWLockImpl.tryWriteLockImpl()
run()0320Poco.Timer.run()
transform()05205Poco.SHA1Engine.transform()
substOne(std::string&,std::string::size_type,conststd::string&,int)0490Poco.RegularExpression.substOne(std::string&,std::string::size_type ,conststd::string&,int)
parseColor(conststd::string&)0360Poco.ColorConsoleChannel.parseColor(conststd::string&)
formatColor(Poco::ColorConsoleChannel::Color)0370Poco.ColorConsoleChannel.formatColor(Poco::ColorConsoleChannel::Color)
setUpRegistry()0290Poco.EventLogChannel.setUpRegistry()
setPurgeAge(conststd::string&)0350Poco.FileChannel.setPurgeAge(conststd::string&)
parseColor(conststd::string&)0360Poco.WindowsColorConsoleChannel.parseColor(conststd::string&)
formatColor(WORD)0350Poco.WindowsColorConsoleChannel.formatColor(WORD)
ParsePattern()0370Poco.PatternFormatter.ParsePattern()
launchImpl(conststd::string&,constArgsImpl&,conststd::string& ,Poco::Pipe*,Poco::Pipe*,Poco::Pipe*,constEnvImpl&)0700Poco.ProcessImpl.launchImpl(conststd::string&,constArgsImpl& ,conststd::string&,Poco::Pipe*,Poco::Pipe*,Poco::Pipe*,constEnvImpl&)
setRotation(conststd::string&)0240Poco.SimpleFileChannel.setRotation(conststd::string&)
convert(constunsignedchar*)0260Poco.UTF8Encoding.convert(constunsignedchar*)
convert(int,unsignedchar*,int)0240Poco.UTF8Encoding.convert(int,unsignedchar*,int)
queryConvert(constunsignedchar*,int)0290Poco.UTF8Encoding.queryConvert(constunsignedchar*,int)
convert(int,unsignedchar*,int)0400Poco.Latin9Encoding.convert(int,unsignedchar*,int)
readFromDevice()0300Poco.StreamConverterBuf.readFromDevice()
convert(int,unsignedchar*,int)0220Poco.UTF16Encoding.convert(int,unsignedchar*,int)
convert(int,unsignedchar*,int)01160Poco.Windows1252Encoding.convert(int,unsignedchar*,int)
parseFlags(std::ostream&,std::string::const_iterator& ,conststd::string::const_iterator&)0230Poco.anonymous_namespace{format.cpp}.__Globals.parseFlags (std::ostream&,std::string::const_iterator& ,conststd::string::const_iterator&)
prepareFormat(std::ostream&,char)0230Poco.anonymous_namespace{format.cpp}.__Globals.prepareFormat (std::ostream&,char)
writeAnyInt(std::ostream&,constPoco::Any&)0240Poco.anonymous_namespace{format.cpp}.__Globals.writeAnyInt (std::ostream&,constPoco::Any&)
formatOne(std::string&,std::string::const_iterator& ,conststd::string::const_iterator&,std::vector<Any>::const_iterator&)01530Poco.anonymous_namespace{format.cpp}.__Globals.formatOne(std::string& ,std::string::const_iterator&,conststd::string::const_iterator& ,std::vector<Any>::const_iterator&)
GenerateShortestDigits(double_conversion::Bignum* ,double_conversion::Bignum*,double_conversion::Bignum* ,double_conversion::Bignum*,bool,Vector<char>,int*)0410double_conversion.__Globals.GenerateShortestDigits (double_conversion::Bignum*,double_conversion::Bignum* ,double_conversion::Bignum*,double_conversion::Bignum*,bool,Vector <char>,int*)
GenerateCountedDigits(int,int*,double_conversion::Bignum* ,double_conversion::Bignum*,Vector<char>,int*)0210double_conversion.__Globals.GenerateCountedDigits(int,int* ,double_conversion::Bignum*,double_conversion::Bignum*,Vector<char> ,int*)
BignumDtoa(double,double_conversion::BignumDtoaMode,int,Vector<char> ,int*,int*)0500double_conversion.__Globals.BignumDtoa(double ,double_conversion::BignumDtoaMode,int,Vector<char>,int*,int*)
DigitGen(double_conversion::DiyFp,double_conversion::DiyFp ,double_conversion::DiyFp,Vector<char>,int*,int*)0390double_conversion.__Globals.DigitGen(double_conversion::DiyFp ,double_conversion::DiyFp,double_conversion::DiyFp,Vector<char>,int* ,int*)
DigitGenCounted(double_conversion::DiyFp,int,Vector<char>,int*,int*)0400double_conversion.__Globals.DigitGenCounted(double_conversion::DiyFp ,int,Vector<char>,int*,int*)
Grisu3(double,double_conversion::FastDtoaMode,Vector<char>,int*,int*)0230double_conversion.__Globals.Grisu3(double ,double_conversion::FastDtoaMode,Vector<char>,int*,int*)
FastDtoa(double,double_conversion::FastDtoaMode,int,Vector<char>,int* ,int*)0220double_conversion.__Globals.FastDtoa(double ,double_conversion::FastDtoaMode,int,Vector<char>,int*,int*)
FillFractionals(uint64_t,int,int,Vector<char>,int*,int*)0300double_conversion.__Globals.FillFractionals(uint64_t,int,int,Vector <char>,int*,int*)
FastFixedDtoa(double,int,Vector<char>,int*,int*)0520double_conversion.__Globals.FastFixedDtoa(double,int,Vector<char>,int* ,int*)
AdjustmentPowerOfTen(int)0220double_conversion.__Globals.AdjustmentPowerOfTen(int)
DiyFpStrtod(Vector<constchar>,int,double*)0580double_conversion.__Globals.DiyFpStrtod(Vector<constchar>,int,double*)
Strtof(Vector<constchar>,int)0420double_conversion.__Globals.Strtof(Vector<constchar>,int)
RadixStringToIeee<radix_log_2>(constchar*,constchar*,bool,bool,double ,bool,constchar**)0680double_conversion.__Globals.RadixStringToIeee<radix_log_2>(constchar* ,constchar*,bool,bool,double,bool,constchar**)
handleUnknownEncoding(XML_Parser,constXML_Char*)0350__Globals.handleUnknownEncoding(XML_Parser,constXML_Char*)
reportProcessingInstruction(XML_Parser,constENCODING*,constchar* ,constchar*)0270__Globals.reportProcessingInstruction(XML_Parser,constENCODING* ,constchar*,constchar*)
reportDefault(XML_Parser,constENCODING*,constchar*,constchar*)0260__Globals.reportDefault(XML_Parser,constENCODING*,constchar* ,constchar*)
normalizePublicId(XML_Char*)0220__Globals.normalizePublicId(XML_Char*)
poolGrow(STRING_POOL*)0580__Globals.poolGrow(STRING_POOL*)
parserCreate(constXML_Char*,constXML_Memory_Handling_Suite* ,constXML_Char*,DTD*)01000__Globals.parserCreate(constXML_Char*,constXML_Memory_Handling_Suite* ,constXML_Char*,DTD*)
parserInit(XML_Parser,constXML_Char*)01280__Globals.parserInit(XML_Parser,constXML_Char*)
prolog0(PROLOG_STATE*,int,constchar*,constchar*,constENCODING*)0260__Globals.prolog0(PROLOG_STATE*,int,constchar*,constchar* ,constENCODING*)
internalSubset(PROLOG_STATE*,int,constchar*,constchar*,constENCODING*)0300__Globals.internalSubset(PROLOG_STATE*,int,constchar*,constchar* ,constENCODING*)
element2(PROLOG_STATE*,int,constchar*,constchar*,constENCODING*)0270__Globals.element2(PROLOG_STATE*,int,constchar*,constchar* ,constENCODING*)
element6(PROLOG_STATE*,int,constchar*,constchar*,constENCODING*)0210__Globals.element6(PROLOG_STATE*,int,constchar*,constchar* ,constENCODING*)
element7(PROLOG_STATE*,int,constchar*,constchar*,constENCODING*)0350__Globals.element7(PROLOG_STATE*,int,constchar*,constchar* ,constENCODING*)
externalSubset1(PROLOG_STATE*,int,constchar*,constchar*,constENCODING* )0240__Globals.externalSubset1(PROLOG_STATE*,int,constchar*,constchar* ,constENCODING*)
normal_scanComment(constENCODING*,constchar*,constchar*,constchar**)0520__Globals.normal_scanComment(constENCODING*,constchar*,constchar* ,constchar**)
normal_scanDecl(constENCODING*,constchar*,constchar*,constchar**)0440__Globals.normal_scanDecl(constENCODING*,constchar*,constchar* ,constchar**)
normal_checkPiTarget(constENCODING*,constchar*,constchar*,int*)0410__Globals.normal_checkPiTarget(constENCODING*,constchar*,constchar* ,int*)
normal_scanPi(constENCODING*,constchar*,constchar*,constchar**)01560__Globals.normal_scanPi(constENCODING*,constchar*,constchar* ,constchar**)
normal_cdataSectionTok(constENCODING*,constchar*,constchar* ,constchar**)01030__Globals.normal_cdataSectionTok(constENCODING*,constchar*,constchar* ,constchar**)
normal_scanEndTag(constENCODING*,constchar*,constchar*,constchar**)01060__Globals.normal_scanEndTag(constENCODING*,constchar*,constchar* ,constchar**)
normal_scanHexCharRef(constENCODING*,constchar*,constchar*,constchar** )0250__Globals.normal_scanHexCharRef(constENCODING*,constchar*,constchar* ,constchar**)

Statistics

Stat   Percentage Comment   # lines of code (LOC)   # lines of comment
Sum:1 11423 854997
Average:2.9663.442.65
Minimum:0210
Maximum:19963151
Standard deviation:4.6985.4610.43
Variance:21.977 303108.85
warningCritical    Rule warning: Methods with too many parameters
// <Name>Methods with too many parameters</Name>
warnif count > 0 from m in JustMyCode.Methods where 
  
m.NbParameters > 5 
  
orderby m.NbParameters descending
select new { m, m.NbParameters }

// Methods where NbParameters > 5 might be painful to call 
// and might degrade performance. You should prefer using 
// additional properties/fields to the declaring type to 
// handle numerous states. Another alternative is to provide 
// a class or structure dedicated to handle arguments passing 
// (for example see the class System.Diagnostics.ProcessStartInfo 
// and the method System.Diagnostics.Process.Start(ProcessStartInfo))
// See the definition of the NbParameters metric here 
// http://www.cppdepend.com/Metrics.aspx#NbParameters

102 methods matched

methods# ParametersFull Name
compile_regex(int,int,uschar**,constuschar**,int*,BOOL,BOOL,int,int* ,int*,branch_chain*,compile_data*,int*)13__Globals.compile_regex(int,int,uschar**,constuschar**,int*,BOOL,BOOL ,int,int*,int*,branch_chain*,compile_data*,int*)
doParseXmlDecl(constENCODING*(*)(constENCODING*,constchar*,constchar*) ,int,constENCODING*,constchar*,constchar*,constchar**,constchar** ,constchar**,constchar**,constENCODING**,int*)11__Globals.doParseXmlDecl(constENCODING*(*)(constENCODING*,constchar* ,constchar*),int,constENCODING*,constchar*,constchar*,constchar** ,constchar**,constchar**,constchar**,constENCODING**,int*)
XmlParseXmlDecl(int,constENCODING*,constchar*,constchar*,constchar** ,constchar**,constchar**,constchar**,constENCODING**,int*)10__Globals.XmlParseXmlDecl(int,constENCODING*,constchar*,constchar* ,constchar**,constchar**,constchar**,constchar**,constENCODING**,int*)
XmlParseXmlDeclNS(int,constENCODING*,constchar*,constchar*,constchar** ,constchar**,constchar**,constchar**,constENCODING**,int*)10__Globals.XmlParseXmlDeclNS(int,constENCODING*,constchar*,constchar* ,constchar**,constchar**,constchar**,constchar**,constENCODING**,int*)
dataElement(constXMLString&,constXMLString&,constXMLString& ,constXMLString&,constXMLString&,constXMLString&,constXMLString& ,constXMLString&,constXMLString&,constXMLString&)10Poco.XML.XMLWriter.dataElement(constXMLString&,constXMLString& ,constXMLString&,constXMLString&,constXMLString&,constXMLString& ,constXMLString&,constXMLString&,constXMLString&,constXMLString&)
MutationEvent(Poco::XML::Document*,constXMLString& ,Poco::XML::EventTarget*,bool,bool,Poco::XML::Node*,constXMLString& ,constXMLString&,constXMLString& ,Poco::XML::MutationEvent::AttrChangeType)10Poco.XML.MutationEvent.MutationEvent(Poco::XML::Document* ,constXMLString&,Poco::XML::EventTarget*,bool,bool,Poco::XML::Node* ,constXMLString&,constXMLString&,constXMLString& ,Poco::XML::MutationEvent::AttrChangeType)
compile_branch(int*,uschar**,constuschar**,int*,int*,int* ,branch_chain*,compile_data*,int*)9__Globals.compile_branch(int*,uschar**,constuschar**,int*,int*,int* ,branch_chain*,compile_data*,int*)
match(constunsignedchar*,constuschar*,constuschar*,int,match_data* ,unsignedlong,eptrblock*,int,unsignedint)9__Globals.match(constunsignedchar*,constuschar*,constuschar*,int ,match_data*,unsignedlong,eptrblock*,int,unsignedint)
LocalDateTime(int,int,int,int,int,int,int,int,int)9Poco.LocalDateTime.LocalDateTime(int,int,int,int,int,int,int,int,int)
assign(int,int,int,int,int,int,int,int,int)9Poco.LocalDateTime.assign(int,int,int,int,int,int,int,int,int)
InitialScaledStartValues(uint64_t,int,bool,int,bool ,double_conversion::Bignum*,double_conversion::Bignum* ,double_conversion::Bignum*,double_conversion::Bignum*)9double_conversion.__Globals.InitialScaledStartValues(uint64_t,int,bool ,int,bool,double_conversion::Bignum*,double_conversion::Bignum* ,double_conversion::Bignum*,double_conversion::Bignum*)
handleEntityDecl(void*,constXML_Char*,int,constXML_Char*,int ,constXML_Char*,constXML_Char*,constXML_Char*,constXML_Char*)9Poco.XML.ParserEngine.handleEntityDecl(void*,constXML_Char*,int ,constXML_Char*,int,constXML_Char*,constXML_Char*,constXML_Char* ,constXML_Char*)
DoubleToAscii(double ,double_conversion::DoubleToStringConverter::DtoaMode,int,char*,int ,bool*,int*,int*)8__Globals.DoubleToAscii(double ,double_conversion::DoubleToStringConverter::DtoaMode,int,char*,int ,bool*,int*,int*)
deflateInit2_(z_streamp,int,int,int,int,int,constchar*,int)8__Globals.deflateInit2_(z_streamp,int,int,int,int,int,constchar*,int)
pcre_exec(constpcre*,constpcre_extra*,constchar*,int,int,int,int*,int)8__Globals.pcre_exec(constpcre*,constpcre_extra*,constchar*,int,int,int ,int*,int)
format(std::string&,conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&,constPoco::Any&)8Poco.__Globals.format(std::string&,conststd::string&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&,constPoco::Any& ,constPoco::Any&)
intToStr<T>(T,unsignedshort,char*,std::size_t&,bool,int,char,char)8Poco.__Globals.intToStr<T>(T,unsignedshort,char*,std::size_t&,bool,int ,char,char)
uIntToStr<T>(T,unsignedshort,char*,std::size_t&,bool,int,char,char)8Poco.__Globals.uIntToStr<T>(T,unsignedshort,char*,std::size_t&,bool ,int,char,char)
DateTime(int,int,int,int,int,int,int,int)8Poco.DateTime.DateTime(int,int,int,int,int,int,int,int)
assign(int,int,int,int,int,int,int,int)8Poco.DateTime.assign(int,int,int,int,int,int,int,int)
isValid(int,int,int,int,int,int,int,int)8Poco.DateTime.isValid(int,int,int,int,int,int,int,int)
toJulianDay(int,int,int,int,int,int,int,int)8Poco.DateTime.toJulianDay(int,int,int,int,int,int,int,int)
LocalDateTime(int,int,int,int,int,int,int,int)8Poco.LocalDateTime.LocalDateTime(int,int,int,int,int,int,int,int)
assign(int,int,int,int,int,int,int,int)8Poco.LocalDateTime.assign(int,int,int,int,int,int,int,int)
InitialScaledStartValuesPositiveExponent(uint64_t,int,int,bool ,double_conversion::Bignum*,double_conversion::Bignum* ,double_conversion::Bignum*,double_conversion::Bignum*)8double_conversion.__Globals.InitialScaledStartValuesPositiveExponent (uint64_t,int,int,bool,double_conversion::Bignum* ,double_conversion::Bignum*,double_conversion::Bignum* ,double_conversion::Bignum*)
InitialScaledStartValuesNegativeExponentPositivePower(uint64_t,int,int ,bool,double_conversion::Bignum*,double_conversion::Bignum* ,double_conversion::Bignum*,double_conversion::Bignum*)8double_conversion.__Globals .InitialScaledStartValuesNegativeExponentPositivePower(uint64_t,int ,int,bool,double_conversion::Bignum*,double_conversion::Bignum* ,double_conversion::Bignum*,double_conversion::Bignum*)
InitialScaledStartValuesNegativeExponentNegativePower(uint64_t,int,int ,bool,double_conversion::Bignum*,double_conversion::Bignum* ,double_conversion::Bignum*,double_conversion::Bignum*)8double_conversion.__Globals .InitialScaledStartValuesNegativeExponentNegativePower(uint64_t,int ,int,bool,double_conversion::Bignum*,double_conversion::Bignum* ,double_conversion::Bignum*,double_conversion::Bignum*)
doProlog(XML_Parser,constENCODING*,constchar*,constchar*,int ,constchar*,constchar**,XML_Bool)8__Globals.doProlog(XML_Parser,constENCODING*,constchar*,constchar*,int ,constchar*,constchar**,XML_Bool)
initMutationEvent(constXMLString&,bool,bool,Poco::XML::Node* ,constXMLString&,constXMLString&,constXMLString& ,Poco::XML::MutationEvent::AttrChangeType)8Poco.XML.MutationEvent.initMutationEvent(constXMLString&,bool,bool ,Poco::XML::Node*,constXMLString&,constXMLString&,constXMLString& ,Poco::XML::MutationEvent::AttrChangeType)
NetworkInterface(conststd::string&,conststd::string&,conststd::string& ,constPoco::Net::IPAddress&,constPoco::Net::IPAddress& ,constPoco::Net::IPAddress&,unsignedint,MACAddress*)8Poco.Net.NetworkInterface.NetworkInterface(conststd::string& ,conststd::string&,conststd::string&,constPoco::Net::IPAddress& ,constPoco::Net::IPAddress&,constPoco::Net::IPAddress&,unsignedint ,MACAddress*)
NetworkInterfaceImpl(conststd::string&,conststd::string& ,conststd::string&,constPoco::Net::IPAddress& ,constPoco::Net::IPAddress&,constPoco::Net::IPAddress&,unsignedint ,NetworkInterface::MACAddress*)8Poco.Net.NetworkInterfaceImpl.NetworkInterfaceImpl(conststd::string& ,conststd::string&,conststd::string&,constPoco::Net::IPAddress& ,constPoco::Net::IPAddress&,constPoco::Net::IPAddress&,unsignedint ,NetworkInterface::MACAddress*)
ensureIndex(Poco::MongoDB::Connection&,conststd::string& ,conststd::string&,Poco::MongoDB::Document::Ptr,bool,bool,int,int)8Poco.MongoDB.Database.ensureIndex(Poco::MongoDB::Connection& ,conststd::string&,conststd::string&,Poco::MongoDB::Document::Ptr,bool ,bool,int,int)
Context(Poco::Net::Context::Usage,conststd::string&,conststd::string& ,conststd::string&,Poco::Net::Context::VerificationMode,int,bool ,conststd::string&)8Poco.Net.Context.Context(Poco::Net::Context::Usage,conststd::string& ,conststd::string&,conststd::string& ,Poco::Net::Context::VerificationMode,int,bool,conststd::string&)
check_auto_possessive(int,int,BOOL,uschar*,constuschar*,int ,compile_data*)7__Globals.check_auto_possessive(int,int,BOOL,uschar*,constuschar*,int ,compile_data*)
format(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&,constPoco::Any&)7Poco.__Globals.format(conststd::string&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&,constPoco::Any& ,constPoco::Any&)
format(std::string&,conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&)7Poco.__Globals.format(std::string&,conststd::string&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&,constPoco::Any&)
intToStr<T>(T,unsignedshort,std::string&,bool,int,char,char)7Poco.__Globals.intToStr<T>(T,unsignedshort,std::string&,bool,int,char ,char)
uIntToStr<T>(T,unsignedshort,std::string&,bool,int,char,char)7Poco.__Globals.uIntToStr<T>(T,unsignedshort,std::string&,bool,int,char ,char)
fatal(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&,constPoco::Any&)7Poco.Logger.fatal(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&,constPoco::Any&)
critical(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&,constPoco::Any&)7Poco.Logger.critical(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&,constPoco::Any&)
error(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&,constPoco::Any&)7Poco.Logger.error(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&,constPoco::Any&)
warning(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&,constPoco::Any&)7Poco.Logger.warning(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&,constPoco::Any&)
notice(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&,constPoco::Any&)7Poco.Logger.notice(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&,constPoco::Any&)
information(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&,constPoco::Any&)7Poco.Logger.information(conststd::string&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&,constPoco::Any& ,constPoco::Any&)
debug(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&,constPoco::Any&)7Poco.Logger.debug(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&,constPoco::Any&)
trace(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&,constPoco::Any&)7Poco.Logger.trace(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&,constPoco::Any&)
launchImpl(conststd::string&,constArgsImpl&,conststd::string& ,Poco::Pipe*,Poco::Pipe*,Poco::Pipe*,constEnvImpl&)7Poco.ProcessImpl.launchImpl(conststd::string&,constArgsImpl& ,conststd::string&,Poco::Pipe*,Poco::Pipe*,Poco::Pipe*,constEnvImpl&)
launch(conststd::string&,constArgs&,conststd::string&,Poco::Pipe* ,Poco::Pipe*,Poco::Pipe*,constEnv&)7Poco.Process.launch(conststd::string&,constArgs&,conststd::string& ,Poco::Pipe*,Poco::Pipe*,Poco::Pipe*,constEnv&)
FixupMultiply10(int,bool,int*,double_conversion::Bignum* ,double_conversion::Bignum*,double_conversion::Bignum* ,double_conversion::Bignum*)7double_conversion.__Globals.FixupMultiply10(int,bool,int* ,double_conversion::Bignum*,double_conversion::Bignum* ,double_conversion::Bignum*,double_conversion::Bignum*)
GenerateShortestDigits(double_conversion::Bignum* ,double_conversion::Bignum*,double_conversion::Bignum* ,double_conversion::Bignum*,bool,Vector<char>,int*)7double_conversion.__Globals.GenerateShortestDigits (double_conversion::Bignum*,double_conversion::Bignum* ,double_conversion::Bignum*,double_conversion::Bignum*,bool,Vector <char>,int*)
RoundWeed(Vector<char>,int,uint64_t,uint64_t,uint64_t,uint64_t ,uint64_t)7double_conversion.__Globals.RoundWeed(Vector<char>,int,uint64_t ,uint64_t,uint64_t,uint64_t,uint64_t)
RadixStringToIeee<radix_log_2>(constchar*,constchar*,bool,bool,double ,bool,constchar**)7double_conversion.__Globals.RadixStringToIeee<radix_log_2>(constchar* ,constchar*,bool,bool,double,bool,constchar**)
doContent(XML_Parser,int,constENCODING*,constchar*,constchar* ,constchar**,XML_Bool)7__Globals.doContent(XML_Parser,int,constENCODING*,constchar* ,constchar*,constchar**,XML_Bool)
parsePseudoAttribute(constENCODING*,constchar*,constchar*,constchar** ,constchar**,constchar**,constchar**)7__Globals.parsePseudoAttribute(constENCODING*,constchar*,constchar* ,constchar**,constchar**,constchar**,constchar**)
Attr(Poco::XML::Document*,Poco::XML::Element*,constXMLString& ,constXMLString&,constXMLString&,constXMLString&,bool)7Poco.XML.Attr.Attr(Poco::XML::Document*,Poco::XML::Element* ,constXMLString&,constXMLString&,constXMLString&,constXMLString&,bool)
digest(Poco::DigestEngine&,conststd::string&,conststd::string& ,conststd::string&,conststd::string&,conststd::string& ,conststd::string&)7anonymous_namespace{httpdigestcredentials.cpp}.__Globals.digest (Poco::DigestEngine&,conststd::string&,conststd::string& ,conststd::string&,conststd::string&,conststd::string& ,conststd::string&)
inflate_table(codetype,unsignedshort*,unsignedint,code**,unsignedint* ,unsignedshort*)6__Globals.inflate_table(codetype,unsignedshort*,unsignedint,code** ,unsignedint*,unsignedshort*)
pcre_compile2(constchar*,int,int*,constchar**,int*,constunsignedchar*)6__Globals.pcre_compile2(constchar*,int,int*,constchar**,int* ,constunsignedchar*)
format(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&)6Poco.__Globals.format(conststd::string&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&,constPoco::Any&)
format(std::string&,conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&)6Poco.__Globals.format(std::string&,conststd::string&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&)
icompare<S>(constS&,typenameS::size_type,typenameS::size_type,constS& ,typenameS::size_type,typenameS::size_type)6Poco.__Globals.icompare<S>(constS&,typenameS::size_type ,typenameS::size_type,constS&,typenameS::size_type ,typenameS::size_type)
cat<S>(constS&,constS&,constS&,constS&,constS&,constS&)6Poco.__Globals.cat<S>(constS&,constS&,constS&,constS&,constS&,constS&)
floatToStr(std::string&,float,int,int,char,char)6Poco.__Globals.floatToStr(std::string&,float,int,int,char,char)
doubleToStr(std::string&,double,int,int,char,char)6Poco.__Globals.doubleToStr(std::string&,double,int,int,char,char)
collect(constPoco::Path&,constPoco::Path&,constPoco::Path& ,conststd::string&,std::set<std::string>&,int)6Poco.Glob.collect(constPoco::Path&,constPoco::Path&,constPoco::Path& ,conststd::string&,std::set<std::string>&,int)
icompare(conststd::string&,std::string::size_type ,std::string::size_type,conststd::string&,std::string::size_type ,std::string::size_type)6Poco.UTF8.icompare(conststd::string&,std::string::size_type ,std::string::size_type,conststd::string&,std::string::size_type ,std::string::size_type)
fatal(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&)6Poco.Logger.fatal(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&)
critical(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&)6Poco.Logger.critical(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&)
error(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&)6Poco.Logger.error(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&)
warning(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&)6Poco.Logger.warning(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&)
notice(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&)6Poco.Logger.notice(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&)
information(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&)6Poco.Logger.information(conststd::string&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&,constPoco::Any&)
debug(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&)6Poco.Logger.debug(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&)
trace(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&)6Poco.Logger.trace(conststd::string&,constPoco::Any&,constPoco::Any& ,constPoco::Any&,constPoco::Any&,constPoco::Any&)
launch(conststd::string&,constArgs&,conststd::string&,Poco::Pipe* ,Poco::Pipe*,Poco::Pipe*)6Poco.Process.launch(conststd::string&,constArgs&,conststd::string& ,Poco::Pipe*,Poco::Pipe*,Poco::Pipe*)
launch(conststd::string&,constArgs&,Poco::Pipe*,Poco::Pipe* ,Poco::Pipe*,constEnv&)6Poco.Process.launch(conststd::string&,constArgs&,Poco::Pipe* ,Poco::Pipe*,Poco::Pipe*,constEnv&)
BignumToFixed(int,int*,double_conversion::Bignum* ,double_conversion::Bignum*,Vector<char>,int*)6double_conversion.__Globals.BignumToFixed(int,int* ,double_conversion::Bignum*,double_conversion::Bignum*,Vector<char> ,int*)
GenerateCountedDigits(int,int*,double_conversion::Bignum* ,double_conversion::Bignum*,Vector<char>,int*)6double_conversion.__Globals.GenerateCountedDigits(int,int* ,double_conversion::Bignum*,double_conversion::Bignum*,Vector<char> ,int*)
BignumDtoa(double,double_conversion::BignumDtoaMode,int,Vector<char> ,int*,int*)6double_conversion.__Globals.BignumDtoa(double ,double_conversion::BignumDtoaMode,int,Vector<char>,int*,int*)
RoundWeedCounted(Vector<char>,int,uint64_t,uint64_t,uint64_t,int*)6double_conversion.__Globals.RoundWeedCounted(Vector<char>,int,uint64_t ,uint64_t,uint64_t,int*)
DigitGen(double_conversion::DiyFp,double_conversion::DiyFp ,double_conversion::DiyFp,Vector<char>,int*,int*)6double_conversion.__Globals.DigitGen(double_conversion::DiyFp ,double_conversion::DiyFp,double_conversion::DiyFp,Vector<char>,int* ,int*)
FastDtoa(double,double_conversion::FastDtoaMode,int,Vector<char>,int* ,int*)6double_conversion.__Globals.FastDtoa(double ,double_conversion::FastDtoaMode,int,Vector<char>,int*,int*)
FillFractionals(uint64_t,int,int,Vector<char>,int*,int*)6double_conversion.__Globals.FillFractionals(uint64_t,int,int,Vector <char>,int*,int*)
TrimAndCut(Vector<constchar>,int,char*,int,Vector<constchar>*,int*)6double_conversion.__Globals.TrimAndCut(Vector<constchar>,int,char*,int ,Vector<constchar>*,int*)
doCdataSection(XML_Parser,constENCODING*,constchar**,constchar* ,constchar**,XML_Bool)6__Globals.doCdataSection(XML_Parser,constENCODING*,constchar** ,constchar*,constchar**,XML_Bool)
doIgnoreSection(XML_Parser,constENCODING*,constchar**,constchar* ,constchar**,XML_Bool)6__Globals.doIgnoreSection(XML_Parser,constENCODING*,constchar** ,constchar*,constchar**,XML_Bool)
defineAttribute(ELEMENT_TYPE*,ATTRIBUTE_ID*,XML_Bool,XML_Bool ,constXML_Char*,XML_Parser)6__Globals.defineAttribute(ELEMENT_TYPE*,ATTRIBUTE_ID*,XML_Bool ,XML_Bool,constXML_Char*,XML_Parser)
storeAttributeValue(XML_Parser,constENCODING*,XML_Bool,constchar* ,constchar*,STRING_POOL*)6__Globals.storeAttributeValue(XML_Parser,constENCODING*,XML_Bool ,constchar*,constchar*,STRING_POOL*)
appendAttributeValue(XML_Parser,constENCODING*,XML_Bool,constchar* ,constchar*,STRING_POOL*)6__Globals.appendAttributeValue(XML_Parser,constENCODING*,XML_Bool ,constchar*,constchar*,STRING_POOL*)
initScan(constENCODING*const*,constINIT_ENCODING*,int,constchar* ,constchar*,constchar**)6__Globals.initScan(constENCODING*const*,constINIT_ENCODING*,int ,constchar*,constchar*,constchar**)
setAttribute(int,constXMLString&,constXMLString&,constXMLString& ,constXMLString&,constXMLString&)6Poco.XML.AttributesImpl.setAttribute(int,constXMLString& ,constXMLString&,constXMLString&,constXMLString&,constXMLString&)
addAttribute(constXMLString&,constXMLString&,constXMLString& ,constXMLString&,constXMLString&,bool)6Poco.XML.AttributesImpl.addAttribute(constXMLString&,constXMLString& ,constXMLString&,constXMLString&,constXMLString&,bool)
addAttribute(constXMLChar*,constXMLChar*,constXMLChar*,constXMLChar* ,constXMLChar*,bool)6Poco.XML.AttributesImpl.addAttribute(constXMLChar*,constXMLChar* ,constXMLChar*,constXMLChar*,constXMLChar*,bool)
handleUnparsedEntityDecl(void*,constXML_Char*,constXML_Char* ,constXML_Char*,constXML_Char*,constXML_Char*)6Poco.XML.ParserEngine.handleUnparsedEntityDecl(void*,constXML_Char* ,constXML_Char*,constXML_Char*,constXML_Char*,constXML_Char*)
SAXParseException(conststd::string&,constXMLString&,constXMLString& ,int,int,constPoco::Exception&)6Poco.XML.SAXParseException.SAXParseException(conststd::string& ,constXMLString&,constXMLString&,int,int,constPoco::Exception&)
MutationEvent(Poco::XML::Document*,constXMLString& ,Poco::XML::EventTarget*,bool,bool,Poco::XML::Node*)6Poco.XML.MutationEvent.MutationEvent(Poco::XML::Document* ,constXMLString&,Poco::XML::EventTarget*,bool,bool,Poco::XML::Node*)
parseDir(conststd::vector<std::string>&,conststd::vector<std::string>& ,NameSpace::SymbolTable&,conststd::string&,conststd::string& ,conststd::string&)6Poco.CppParser.Utility.parseDir(conststd::vector<std::string>& ,conststd::vector<std::string>&,NameSpace::SymbolTable& ,conststd::string&,conststd::string&,conststd::string&)
NetworkInterface(conststd::string&,conststd::string&,conststd::string& ,constPoco::Net::IPAddress&,unsignedint,MACAddress*)6Poco.Net.NetworkInterface.NetworkInterface(conststd::string& ,conststd::string&,conststd::string&,constPoco::Net::IPAddress& ,unsignedint,MACAddress*)
NetworkInterface(conststd::string&,constPoco::Net::IPAddress& ,constPoco::Net::IPAddress&,constPoco::Net::IPAddress&,unsignedint ,MACAddress*)6Poco.Net.NetworkInterface.NetworkInterface(conststd::string& ,constPoco::Net::IPAddress&,constPoco::Net::IPAddress& ,constPoco::Net::IPAddress&,unsignedint,MACAddress*)
NetworkInterfaceImpl(conststd::string&,conststd::string& ,conststd::string&,constPoco::Net::IPAddress&,unsignedint ,NetworkInterface::MACAddress*)6Poco.Net.NetworkInterfaceImpl.NetworkInterfaceImpl(conststd::string& ,conststd::string&,conststd::string&,constPoco::Net::IPAddress& ,unsignedint,NetworkInterface::MACAddress*)

Statistics

Stat   # Parameters
Sum:723
Average:7.09
Minimum:6
Maximum:13
Standard deviation:1.32
Variance:1.75
warningCritical    Rule warning: Methods with too many local variables
// <Name>Methods with too many local variables</Name>
warnif count > 0 from m in JustMyCode.Methods where 
  
m.NbVariables > 15 
  
orderby m.NbVariables descending
select new { m, m.NbVariables }

// Methods where NbVariables > 8 are hard to understand and maintain.
// Methods where NbVariables > 15 are extremely complex 
// and should be split in smaller methods.
// See the definition of the Nbvariables metric here 
// http://www.cppdepend.com/Metrics.aspx#Nbvariables

23 methods matched

methods# VariablesFull Name
compile_branch(int*,uschar**,constuschar**,int*,int*,int* ,branch_chain*,compile_data*,int*)117__Globals.compile_branch(int*,uschar**,constuschar**,int*,int*,int* ,branch_chain*,compile_data*,int*)
match(constunsignedchar*,constuschar*,constuschar*,int,match_data* ,unsignedlong,eptrblock*,int,unsignedint)85__Globals.match(constunsignedchar*,constuschar*,constuschar*,int ,match_data*,unsignedlong,eptrblock*,int,unsignedint)
doProlog(XML_Parser,constENCODING*,constchar*,constchar*,int ,constchar*,constchar**,XML_Bool)49__Globals.doProlog(XML_Parser,constENCODING*,constchar*,constchar*,int ,constchar*,constchar**,XML_Bool)
doContent(XML_Parser,int,constENCODING*,constchar*,constchar* ,constchar**,XML_Bool)39__Globals.doContent(XML_Parser,int,constENCODING*,constchar* ,constchar*,constchar**,XML_Bool)
storeAtts(XML_Parser,constENCODING*,constchar*,TAG_NAME*,BINDING**)38__Globals.storeAtts(XML_Parser,constENCODING*,constchar*,TAG_NAME* ,BINDING**)
pcre_exec(constpcre*,constpcre_extra*,constchar*,int,int,int,int*,int)36__Globals.pcre_exec(constpcre*,constpcre_extra*,constchar*,int,int,int ,int*,int)
XML_ExternalEntityParserCreate(XML_Parser,constXML_Char* ,constXML_Char*)33__Globals.XML_ExternalEntityParserCreate(XML_Parser,constXML_Char* ,constXML_Char*)
StringToIeee(constchar*,int,int*,bool)26__Globals.StringToIeee(constchar*,int,int*,bool)
inflate_table(codetype,unsignedshort*,unsignedint,code**,unsignedint* ,unsignedshort*)25__Globals.inflate_table(codetype,unsignedshort*,unsignedint,code** ,unsignedint*,unsignedshort*)
map(bool,bool)24Poco.Net.NetworkInterface.map(bool,bool)
pcre_compile2(constchar*,int,int*,constchar**,int*,constunsignedchar*)23__Globals.pcre_compile2(constchar*,int,int*,constchar**,int* ,constunsignedchar*)
DiyFpStrtod(Vector<constchar>,int,double*)22double_conversion.__Globals.DiyFpStrtod(Vector<constchar>,int,double*)
inflate_fast(z_streamp,unsignedint)21__Globals.inflate_fast(z_streamp,unsignedint)
select(SocketList&,SocketList&,SocketList&,constPoco::Timespan&)19Poco.Net.Socket.select(SocketList&,SocketList&,SocketList& ,constPoco::Timespan&)
parse(std::istream&)19Poco.JSON.Template.parse(std::istream&)
Strtof(Vector<constchar>,int)18double_conversion.__Globals.Strtof(Vector<constchar>,int)
list(bool,bool)18Poco.Net.NetworkInterface.list(bool,bool)
inflate(z_streamp,int)17__Globals.inflate(z_streamp,int)
parseBSD(conststd::string&,RemoteSyslogChannel::Severity ,RemoteSyslogChannel::Facility,std::size_t&,Poco::Message&)17Poco.Net.SyslogParser.parseBSD(conststd::string& ,RemoteSyslogChannel::Severity,RemoteSyslogChannel::Facility ,std::size_t&,Poco::Message&)
initDefaultContext(bool)17Poco.Net.SSLManager.initDefaultContext(bool)
MultiplyByPowerOfTen(int)16__Globals.MultiplyByPowerOfTen(int)
compile_regex(int,int,uschar**,constuschar**,int*,BOOL,BOOL,int,int* ,int*,branch_chain*,compile_data*,int*)16__Globals.compile_regex(int,int,uschar**,constuschar**,int*,BOOL,BOOL ,int,int*,int*,branch_chain*,compile_data*,int*)
receiveBytes(void*,int,int)16Poco.Net.WebSocketImpl.receiveBytes(void*,int,int)

Statistics

Stat   # Variables
Sum:711
Average:30.91
Minimum:16
Maximum:117
Standard deviation:23.79
Variance:566.17
warningCritical    Rule warning: Methods with too many overloads
// <Name>Methods with too many overloads</Name>
warnif count > 0 from m in JustMyCode.Methods where 
  
m.NbOverloads > 6 && 
  
!m.IsOperator // Don't report operator overload
  orderby m.NbOverloads descending
select new { m, m.NbOverloads }

// Methods where NbOverloads > 6 might 
// be a problem to maintain and provoke higher coupling 
// than necessary. 
// This might also reveal a potential misused of the 
// C# and VB.NET language that since C#3 and VB9 support 
// object initialization. This feature helps reducing the number 
// of constructors of a class.
// See the definition of the NbOverloads metric here 
// http://www.cppdepend.com/Metrics.aspx#NbOverloads

948 methods matched

methods# OverloadsFull Name
extract(std::size_t,Poco::Int8&)89Poco.Data.AbstractExtractor.extract(std::size_t,Poco::Int8&)
extract(std::size_t,std::vector<Poco::Int8>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::vector<Poco::Int8 >&)
extract(std::size_t,std::deque<Poco::Int8>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::deque<Poco::Int8 >&)
extract(std::size_t,std::list<Poco::Int8>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::list<Poco::Int8>& )
extract(std::size_t,Poco::UInt8&)89Poco.Data.AbstractExtractor.extract(std::size_t,Poco::UInt8&)
extract(std::size_t,std::vector<Poco::UInt8>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::vector <Poco::UInt8>&)
extract(std::size_t,std::deque<Poco::UInt8>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::deque<Poco::UInt8 >&)
extract(std::size_t,std::list<Poco::UInt8>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::list<Poco::UInt8 >&)
extract(std::size_t,Poco::Int16&)89Poco.Data.AbstractExtractor.extract(std::size_t,Poco::Int16&)
extract(std::size_t,std::vector<Poco::Int16>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::vector <Poco::Int16>&)
extract(std::size_t,std::deque<Poco::Int16>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::deque<Poco::Int16 >&)
extract(std::size_t,std::list<Poco::Int16>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::list<Poco::Int16 >&)
extract(std::size_t,Poco::UInt16&)89Poco.Data.AbstractExtractor.extract(std::size_t,Poco::UInt16&)
extract(std::size_t,std::vector<Poco::UInt16>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::vector <Poco::UInt16>&)
extract(std::size_t,std::deque<Poco::UInt16>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::deque <Poco::UInt16>&)
extract(std::size_t,std::list<Poco::UInt16>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::list<Poco::UInt16 >&)
extract(std::size_t,Poco::Int32&)89Poco.Data.AbstractExtractor.extract(std::size_t,Poco::Int32&)
extract(std::size_t,std::vector<Poco::Int32>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::vector <Poco::Int32>&)
extract(std::size_t,std::deque<Poco::Int32>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::deque<Poco::Int32 >&)
extract(std::size_t,std::list<Poco::Int32>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::list<Poco::Int32 >&)
extract(std::size_t,Poco::UInt32&)89Poco.Data.AbstractExtractor.extract(std::size_t,Poco::UInt32&)
extract(std::size_t,std::vector<Poco::UInt32>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::vector <Poco::UInt32>&)
extract(std::size_t,std::deque<Poco::UInt32>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::deque <Poco::UInt32>&)
extract(std::size_t,std::list<Poco::UInt32>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::list<Poco::UInt32 >&)
extract(std::size_t,Poco::Int64&)89Poco.Data.AbstractExtractor.extract(std::size_t,Poco::Int64&)
extract(std::size_t,std::vector<Poco::Int64>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::vector <Poco::Int64>&)
extract(std::size_t,std::deque<Poco::Int64>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::deque<Poco::Int64 >&)
extract(std::size_t,std::list<Poco::Int64>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::list<Poco::Int64 >&)
extract(std::size_t,Poco::UInt64&)89Poco.Data.AbstractExtractor.extract(std::size_t,Poco::UInt64&)
extract(std::size_t,std::vector<Poco::UInt64>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::vector <Poco::UInt64>&)
extract(std::size_t,std::deque<Poco::UInt64>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::deque <Poco::UInt64>&)
extract(std::size_t,std::list<Poco::UInt64>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::list<Poco::UInt64 >&)
extract(std::size_t,long&)89Poco.Data.AbstractExtractor.extract(std::size_t,long&)
extract(std::size_t,unsignedlong&)89Poco.Data.AbstractExtractor.extract(std::size_t,unsignedlong&)
extract(std::size_t,std::vector<long>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::vector<long>&)
extract(std::size_t,std::deque<long>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::deque<long>&)
extract(std::size_t,std::list<long>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::list<long>&)
extract(std::size_t,bool&)89Poco.Data.AbstractExtractor.extract(std::size_t,bool&)
extract(std::size_t,std::vector<bool>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::vector<bool>&)
extract(std::size_t,std::deque<bool>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::deque<bool>&)
extract(std::size_t,std::list<bool>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::list<bool>&)
extract(std::size_t,float&)89Poco.Data.AbstractExtractor.extract(std::size_t,float&)
extract(std::size_t,std::vector<float>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::vector<float>&)
extract(std::size_t,std::deque<float>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::deque<float>&)
extract(std::size_t,std::list<float>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::list<float>&)
extract(std::size_t,double&)89Poco.Data.AbstractExtractor.extract(std::size_t,double&)
extract(std::size_t,std::vector<double>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::vector<double>&)
extract(std::size_t,std::deque<double>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::deque<double>&)
extract(std::size_t,std::list<double>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::list<double>&)
extract(std::size_t,char&)89Poco.Data.AbstractExtractor.extract(std::size_t,char&)
extract(std::size_t,std::vector<char>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::vector<char>&)
extract(std::size_t,std::deque<char>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::deque<char>&)
extract(std::size_t,std::list<char>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::list<char>&)
extract(std::size_t,std::string&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::string&)
extract(std::size_t,std::vector<std::string>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::vector <std::string>&)
extract(std::size_t,std::deque<std::string>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::deque<std::string >&)
extract(std::size_t,std::list<std::string>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::list<std::string >&)
extract(std::size_t,UTF16String&)89Poco.Data.AbstractExtractor.extract(std::size_t,UTF16String&)
extract(std::size_t,std::vector<UTF16String>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::vector <UTF16String>&)
extract(std::size_t,std::deque<UTF16String>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::deque<UTF16String >&)
extract(std::size_t,std::list<UTF16String>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::list<UTF16String >&)
extract(std::size_t,BLOB&)89Poco.Data.AbstractExtractor.extract(std::size_t,BLOB&)
extract(std::size_t,CLOB&)89Poco.Data.AbstractExtractor.extract(std::size_t,CLOB&)
extract(std::size_t,std::vector<BLOB>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::vector<BLOB>&)
extract(std::size_t,std::deque<BLOB>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::deque<BLOB>&)
extract(std::size_t,std::list<BLOB>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::list<BLOB>&)
extract(std::size_t,std::vector<CLOB>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::vector<CLOB>&)
extract(std::size_t,std::deque<CLOB>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::deque<CLOB>&)
extract(std::size_t,std::list<CLOB>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::list<CLOB>&)
extract(std::size_t,Poco::DateTime&)89Poco.Data.AbstractExtractor.extract(std::size_t,Poco::DateTime&)
extract(std::size_t,std::vector<DateTime>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::vector<DateTime>& )
extract(std::size_t,std::deque<DateTime>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::deque<DateTime>&)
extract(std::size_t,std::list<DateTime>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::list<DateTime>&)
extract(std::size_t,Poco::Data::Date&)89Poco.Data.AbstractExtractor.extract(std::size_t,Poco::Data::Date&)
extract(std::size_t,std::vector<Date>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::vector<Date>&)
extract(std::size_t,std::deque<Date>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::deque<Date>&)
extract(std::size_t,std::list<Date>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::list<Date>&)
extract(std::size_t,Poco::Data::Time&)89Poco.Data.AbstractExtractor.extract(std::size_t,Poco::Data::Time&)
extract(std::size_t,std::vector<Time>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::vector<Time>&)
extract(std::size_t,std::deque<Time>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::deque<Time>&)
extract(std::size_t,std::list<Time>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::list<Time>&)
extract(std::size_t,Poco::Any&)89Poco.Data.AbstractExtractor.extract(std::size_t,Poco::Any&)
extract(std::size_t,std::vector<Any>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::vector<Any>&)
extract(std::size_t,std::deque<Any>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::deque<Any>&)
extract(std::size_t,std::list<Any>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::list<Any>&)
extract(std::size_t,Poco::Dynamic::Var&)89Poco.Data.AbstractExtractor.extract(std::size_t,Poco::Dynamic::Var&)
extract(std::size_t,std::vector<Poco::Dynamic::Var>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::vector <Poco::Dynamic::Var>&)
extract(std::size_t,std::deque<Poco::Dynamic::Var>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::deque <Poco::Dynamic::Var>&)
extract(std::size_t,std::list<Poco::Dynamic::Var>&)89Poco.Data.AbstractExtractor.extract(std::size_t,std::list <Poco::Dynamic::Var>&)
prepare(std::size_t,constPoco::Int8&)89Poco.Data.AbstractPreparator.prepare(std::size_t,constPoco::Int8&)
prepare(std::size_t,conststd::vector<Poco::Int8>&)89Poco.Data.AbstractPreparator.prepare(std::size_t,conststd::vector <Poco::Int8>&)
prepare(std::size_t,conststd::deque<Poco::Int8>&)89Poco.Data.AbstractPreparator.prepare(std::size_t,conststd::deque <Poco::Int8>&)
prepare(std::size_t,conststd::list<Poco::Int8>&)89Poco.Data.AbstractPreparator.prepare(std::size_t,conststd::list <Poco::Int8>&)
prepare(std::size_t,constPoco::UInt8&)89Poco.Data.AbstractPreparator.prepare(std::size_t,constPoco::UInt8&)
prepare(std::size_t,conststd::vector<Poco::UInt8>&)89Poco.Data.AbstractPreparator.prepare(std::size_t,conststd::vector <Poco::UInt8>&)
prepare(std::size_t,conststd::deque<Poco::UInt8>&)89Poco.Data.AbstractPreparator.prepare(std::size_t,conststd::deque <Poco::UInt8>&)
prepare(std::size_t,conststd::list<Poco::UInt8>&)89Poco.Data.AbstractPreparator.prepare(std::size_t,conststd::list <Poco::UInt8>&)
prepare(std::size_t,constPoco::Int16&)89Poco.Data.AbstractPreparator.prepare(std::size_t,constPoco::Int16&)
prepare(std::size_t,conststd::vector<Poco::Int16>&)89Poco.Data.AbstractPreparator.prepare(std::size_t,conststd::vector <Poco::Int16>&)
prepare(std::size_t,conststd::deque<Poco::Int16>&)89Poco.Data.AbstractPreparator.prepare(std::size_t,conststd::deque <Poco::Int16>&)

Statistics

Stat   # Overloads
Sum:32 326
Average:34.1
Minimum:7
Maximum:89
Standard deviation:34.19
Variance:1 168
warningCritical    Rule warning: Types with too many methods
// <Name>Types with too many methods</Name>
warnif count > 0 from t in JustMyCode.Types where 
  
t.Methods.Count() > 20 && !t.IsGlobal
  
orderby t.Methods.Count() descending
select new { t, t.InstanceMethods, t.StaticMethods }

// Types where Methods.Count() > 20 might be hard to 
// understand and maintain 
// but there might be cases where it is relevant 
// to have a high number of methods. 
// For example, the System.Windows.Forms.DataGridView 
// standard class has more than 1000 methods.

108 types matched

typesInstanceMethodsStaticMethodsFull Name
Logger88 methods21 methodsPoco.Logger
AbstractPreparator95 methods0 methodPoco.Data.AbstractPreparator
AbstractBinder91 methods2 methodsPoco.Data.AbstractBinder
AbstractExtractor93 methods0 methodPoco.Data.AbstractExtractor
Var81 methods7 methodsPoco.Dynamic.Var
SocketImpl67 methods5 methodsPoco.Net.SocketImpl
NumberFormatter0 method71 methodsPoco.NumberFormatter
Statement70 methods0 methodPoco.Data.Statement
Path56 methods13 methodsPoco.Path
ParserEngine46 methods21 methodsPoco.XML.ParserEngine
StatementImpl67 methods0 methodPoco.Data.StatementImpl
URI52 methods3 methodsPoco.URI
XMLWriter53 methods1 methodPoco.XML.XMLWriter
Socket49 methods3 methodsPoco.Net.Socket
IPAddress46 methods4 methodsPoco.Net.IPAddress
RecordSet50 methods0 methodPoco.Data.RecordSet
FTPClientSession44 methods5 methodsPoco.Net.FTPClientSession
DateTime40 methods6 methodsPoco.DateTime
AbstractNode45 methods0 methodPoco.XML.AbstractNode
VarHolder43 methods0 methodPoco.Dynamic.VarHolder
ByteOrder0 method42 methodsPoco.ByteOrder
File40 methods1 methodPoco.File
SharedPtr<C,RC,RP,>41 methods0 methodPoco.SharedPtr<C,RC,RP,>
LocalDateTime41 methods0 methodPoco.LocalDateTime
XMLFilterImpl40 methods0 methodPoco.XML.XMLFilterImpl
SecureStreamSocketImpl35 methods5 methodsPoco.Net.SecureStreamSocketImpl
AttributesImpl39 methods0 methodPoco.XML.AttributesImpl
Parser31 methods8 methodsPoco.CppParser.Parser
NetworkInterface33 methods6 methodsPoco.Net.NetworkInterface
NetworkInterfaceImpl39 methods0 methodPoco.Net.NetworkInterfaceImpl
MailMessage35 methods4 methodsPoco.Net.MailMessage
AutoPtr<C>38 methods0 methodPoco.AutoPtr<C>
Timespan38 methods0 methodPoco.Timespan
Document37 methods0 methodPoco.XML.Document
Row37 methods0 methodPoco.Data.Row
Element35 methods0 methodPoco.XML.Element
Parser32 methods1 methodPoco.JSON.Parser
BasicFIFOBuffer<T>32 methods0 methodPoco.BasicFIFOBuffer<T>
IPv4AddressImpl31 methods1 methodPoco.Net.Impl.IPv4AddressImpl
IPv6AddressImpl31 methods1 methodPoco.Net.Impl.IPv6AddressImpl
Thread23 methods8 methodsPoco.Thread
DOMSerializer31 methods0 methodPoco.XML.DOMSerializer
Symbol28 methods3 methodsPoco.CppParser.Symbol
Object30 methods1 methodPoco.JSON.Object
SecureSocketImpl30 methods1 methodPoco.Net.SecureSocketImpl
Timestamp26 methods4 methodsPoco.Timestamp
BinaryReader30 methods0 methodPoco.BinaryReader
VarHolderImpl<Poco::Dynamic::Struct<std::basic_string<char ,std::char_traits<char>,std::allocator<char>>>>30 methods0 methodPoco.Dynamic.VarHolderImpl<Poco::Dynamic::Struct<std::basic_string <char,std::char_traits<char>,std::allocator<char>>>>
VarHolderImpl<Poco::Dynamic::Struct<int>>30 methods0 methodPoco.Dynamic.VarHolderImpl<Poco::Dynamic::Struct<int>>
Node30 methods0 methodPoco.XML.Node
HTTPClientSession30 methods0 methodPoco.Net.HTTPClientSession
SMTPClientSession26 methods4 methodsPoco.Net.SMTPClientSession
Session29 methods1 methodPoco.Data.Session
BinaryWriter29 methods0 methodPoco.BinaryWriter
UUID20 methods9 methodsPoco.UUID
SessionImpl28 methods1 methodPoco.Data.SessionImpl
Message28 methods0 methodPoco.Message
FileImpl26 methods1 methodPoco.FileImpl
VarHolderImpl<longlong>27 methods0 methodPoco.Dynamic.VarHolderImpl<longlong>
VarHolderImpl<unsignedlonglong>27 methods0 methodPoco.Dynamic.VarHolderImpl<unsignedlonglong>
VarHolderImpl<std::basic_string<wchar_t,std::char_traits<wchar_t> ,std::allocator<wchar_t>>>27 methods0 methodPoco.Dynamic.VarHolderImpl<std::basic_string<wchar_t,std::char_traits <wchar_t>,std::allocator<wchar_t>>>
DOMBuilder27 methods0 methodPoco.XML.DOMBuilder
Struct27 methods0 methodPoco.CppParser.Struct
RowFilter17 methods10 methodsPoco.Data.RowFilter
VarHolderImpl<std::basic_string<char,std::char_traits<char> ,std::allocator<char>>>26 methods0 methodPoco.Dynamic.VarHolderImpl<std::basic_string<char,std::char_traits <char>,std::allocator<char>>>
Function26 methods0 methodPoco.CppParser.Function
WebSocketImpl26 methods0 methodPoco.Net.WebSocketImpl
VarHolderImpl<Poco::SharedPtr<Poco::JSON::Array,Poco::ReferenceCounter ,Poco::ReleasePolicy<Poco::JSON::Array>>>26 methods0 methodPoco.Dynamic.VarHolderImpl<Poco::SharedPtr<Poco::JSON::Array ,Poco::ReferenceCounter,Poco::ReleasePolicy<Poco::JSON::Array>>>
VarHolderImpl<Poco::JSON::Array>26 methods0 methodPoco.Dynamic.VarHolderImpl<Poco::JSON::Array>
VarHolderImpl<Poco::SharedPtr<Poco::JSON::Object ,Poco::ReferenceCounter,Poco::ReleasePolicy<Poco::JSON::Object>>>26 methods0 methodPoco.Dynamic.VarHolderImpl<Poco::SharedPtr<Poco::JSON::Object ,Poco::ReferenceCounter,Poco::ReleasePolicy<Poco::JSON::Object>>>
VarHolderImpl<Poco::JSON::Object>26 methods0 methodPoco.Dynamic.VarHolderImpl<Poco::JSON::Object>
VarHolderImpl<signedchar>25 methods0 methodPoco.Dynamic.VarHolderImpl<signedchar>
VarHolderImpl<short>25 methods0 methodPoco.Dynamic.VarHolderImpl<short>
HTTPCookie23 methods2 methodsPoco.Net.HTTPCookie
IPAddressImpl25 methods0 methodPoco.Net.Impl.IPAddressImpl
SessionPool24 methods1 methodPoco.Data.SessionPool
VarHolderImpl<int>24 methods0 methodPoco.Dynamic.VarHolderImpl<int>
VarHolderImpl<unsignedchar>24 methods0 methodPoco.Dynamic.VarHolderImpl<unsignedchar>
VarHolderImpl<unsignedshort>24 methods0 methodPoco.Dynamic.VarHolderImpl<unsignedshort>
VarHolderImpl<unsignedint>24 methods0 methodPoco.Dynamic.VarHolderImpl<unsignedint>
VarHolderImpl<bool>24 methods0 methodPoco.Dynamic.VarHolderImpl<bool>
VarHolderImpl<float>24 methods0 methodPoco.Dynamic.VarHolderImpl<float>
VarHolderImpl<double>24 methods0 methodPoco.Dynamic.VarHolderImpl<double>
VarHolderImpl<char>24 methods0 methodPoco.Dynamic.VarHolderImpl<char>
VarHolderImpl<long>24 methods0 methodPoco.Dynamic.VarHolderImpl<long>
VarHolderImpl<unsignedlong>24 methods0 methodPoco.Dynamic.VarHolderImpl<unsignedlong>
HTTPSession24 methods0 methodPoco.Net.HTTPSession
Array23 methods1 methodPoco.JSON.Array
AbstractExtraction24 methods0 methodPoco.Data.AbstractExtraction
PooledSessionImpl24 methods0 methodPoco.Data.PooledSessionImpl
UnicodeConverter2 methods21 methodsPoco.UnicodeConverter
ThreadImpl15 methods8 methodsPoco.ThreadImpl
Buffer<T>23 methods0 methodPoco.Buffer<T>
SAXParser23 methods0 methodPoco.XML.SAXParser
SocketAddress23 methods0 methodPoco.Net.SocketAddress
SSLManager16 methods7 methodsPoco.Net.SSLManager
SecureStreamSocket17 methods6 methodsPoco.Net.SecureStreamSocket
Clock19 methods3 methodsPoco.Clock
AbstractContainerNode15 methods7 methodsPoco.XML.AbstractContainerNode
NameSpace20 methods2 methodsPoco.CppParser.NameSpace

Statistics

Stat   InstanceMethods   StaticMethods
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00
warningCritical    Rule warning: Types with too many fields
// <Name>Types with too many fields</Name>
warnif count > 0 from t in JustMyCode.Types where 
  
t.Fields.Count() > 20 && 
  
!t.IsEnumeration && !t.IsGlobal
  
orderby t.Fields.Count() descending
select new { t, t.InstanceFields, t.StaticFields}

// Types where Fields.Count() > 20 and not IsEnumeration 
// might be hard to understand and maintain 
// but there might be cases where it is relevant 
// to have a high number of fields. 
// For example, the System.Windows.Forms.Control 
// standard class has more than 200 fields.

11 types matched

typesInstanceFieldsStaticFieldsFull Name
XML_ParserStruct90 fields0 fieldXML_ParserStruct
internal_state59 fields0 fieldinternal_state
HTTPResponse2 fields43 fieldsPoco.Net.HTTPResponse
XMLWriter19 fields22 fieldsPoco.XML.XMLWriter
SSLManager12 fields24 fieldsPoco.Net.SSLManager
inflate_state34 fields0 fieldinflate_state
match_data33 fields0 fieldmatch_data
SQLChannel17 fields9 fieldsPoco.Data.SQLChannel
compile_data23 fields0 fieldcompile_data
FileChannel14 fields9 fieldsPoco.FileChannel
MailMessage6 fields17 fieldsPoco.Net.MailMessage

Statistics

Stat   InstanceFields   StaticFields
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00
warningCritical    Rule warning: Types with poor cohesion
// <Name>Types with poor cohesion</Name>
warnif count > 0 from t in JustMyCode.Types where 
  
(t.LCOM > 0.8 || t.LCOMHS > 0.95) && 
  
t.NbFields > 10 && 
  
t.NbMethods >10 && !t.IsGlobal
  
orderby t.LCOM descending, t.LCOMHS descending
select new { t, t.LCOM, t.LCOMHS, 
                
t.NbMethods, t.NbFields }

// Types where LCOM > 0.8 and NbFields > 10 
// and NbMethods >10 might be problematic. 
// However, it is very hard to avoid such 
// non-cohesive types. The LCOMHS metric
// is often considered as more efficient to 
// detect non-cohesive types.
// See the definition of the LCOM metric here 
// http://www.cppdepend.com/Metrics.aspx#LCOM

16 types matched

typesLack of Cohesion Of Methods (LCOM)LCOM Henderson-Sellers (LCOMHS)# Methods# FieldsFull Name
MailMessage0.930.954123Poco.Net.MailMessage
StatementImpl0.920.936918Poco.Data.StatementImpl
ParserEngine0.910.937019Poco.XML.ParserEngine
Parser0.910.934114Poco.CppParser.Parser
DirectoryWatcher0.90.961612Poco.DirectoryWatcher
Symbol0.90.933411Poco.CppParser.Symbol
SSLManager0.890.932536Poco.Net.SSLManager
NetworkInterfaceImpl0.870.894414Poco.Net.NetworkInterfaceImpl
XMLWriter0.870.895841Poco.XML.XMLWriter
Parser0.860.893520Poco.JSON.Parser
HTTPClientSession0.840.873513Poco.Net.HTTPClientSession
SessionPool0.840.872715Poco.Data.SessionPool
NTPPacket0.810.852513Poco.Net.NTPPacket
HTTPMessage0.810.852114Poco.Net.HTTPMessage
ICMPv4PacketImpl0.80.891212Poco.Net.ICMPv4PacketImpl
TCPServerDispatcher0.80.842012Poco.Net.TCPServerDispatcher

Statistics

Stat   Lack of Cohesion Of Methods (LCOM)   LCOM Henderson-Sellers (LCOMHS)   # Methods   # Fields
Sum:13.8714.4573287
Average:0.870.935.8117.94
Minimum:0.80.841211
Maximum:0.930.967041
Standard deviation:0.0430.03617.018.47
Variance:0.00180.0013289.2871.68

150
Object Oriented Design  

warningCritical    Rule warning: Base class should not use derivatives
// <Name>Base class should not use derivatives</Name>
warnif count > 0 
from baseClass in JustMyCode.Types
where baseClass.IsClass && baseClass.NbChildren > 0 // <-- for optimization!
let derivedClassesUsed = baseClass.DerivedTypes.UsedBy(baseClass)
where derivedClassesUsed.Count() > 0
select new { baseClass, derivedClassesUsed }

6 types matched

typesderivedClassesUsedFull Name
Node1 typePoco.XML.Node
AbstractNode3 typesPoco.XML.AbstractNode
AbstractContainerNode2 typesPoco.XML.AbstractContainerNode
Symbol1 typePoco.CppParser.Symbol
SocketImpl1 typePoco.Net.SocketImpl
Document1 typePoco.MongoDB.Document

Statistics

Stat   derivedClassesUsed
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Class shouldn't be too deep in inheritance tree
// <Name>Class shouldn't be too deep in inheritance tree</Name>
warnif count > 0 from t in JustMyCode.Types 
where t.IsClass
let baseClasses = t.BaseClasses.ExceptThirdParty()

// Warn for classes with 3 or more base classes.
// Notice that we don't count third-party classes 
// because this rule concerns your code design,
// not third-party libraries consumed design.
where baseClasses.Count() >= 3

select new { t, baseClasses, 
                
// The metric value DepthOfInheritance takes account
                // of third-party base classes
                t.DepthOfInheritance } 

// Branches too long in the derivation should be avoided.
// See the definition of the DepthOfInheritance metric here 
// http://www.cppdepend.com/Metrics.aspx#DIT

131 types matched

typesbaseClassesDepth of inheritanceFull Name
DataFormatException3 types4Poco.DataFormatException
SyntaxException3 types4Poco.SyntaxException
CircularReferenceException3 types4Poco.CircularReferenceException
PathSyntaxException4 types5Poco.PathSyntaxException
ProtocolException3 types4Poco.ProtocolException
FileException3 types4Poco.FileException
FileExistsException4 types5Poco.FileExistsException
FileNotFoundException4 types5Poco.FileNotFoundException
PathNotFoundException4 types5Poco.PathNotFoundException
FileReadOnlyException4 types5Poco.FileReadOnlyException
FileAccessDeniedException4 types5Poco.FileAccessDeniedException
CreateFileException4 types5Poco.CreateFileException
OpenFileException4 types5Poco.OpenFileException
WriteFileException4 types5Poco.WriteFileException
ReadFileException4 types5Poco.ReadFileException
ActiveRunnable<ResultType,ArgType,OwnerType>3 types2Poco.ActiveRunnable<ResultType,ArgType,OwnerType>
ActiveRunnable<void,type-parameter-0-0,type-parameter-0-1>3 types2Poco.ActiveRunnable<void,type-parameter-0-0,type-parameter-0-1>
ActiveRunnable<type-parameter-0-0,void,type-parameter-0-1>3 types2Poco.ActiveRunnable<type-parameter-0-0,void,type-parameter-0-1>
ActiveRunnable<void,void,type-parameter-0-0>3 types2Poco.ActiveRunnable<void,void,type-parameter-0-0>
AsyncChannel4 types2Poco.AsyncChannel
ConsoleChannel3 types2Poco.ConsoleChannel
ColorConsoleChannel3 types2Poco.ColorConsoleChannel
EventLogChannel3 types2Poco.EventLogChannel
FileChannel3 types2Poco.FileChannel
FormattingChannel3 types2Poco.FormattingChannel
Logger3 types2Poco.Logger
SplitterChannel3 types2Poco.SplitterChannel
NullChannel3 types2Poco.NullChannel
WindowsConsoleChannel3 types2Poco.WindowsConsoleChannel
WindowsColorConsoleChannel3 types2Poco.WindowsColorConsoleChannel
PatternFormatter3 types2Poco.PatternFormatter
SimpleFileChannel3 types2Poco.SimpleFileChannel
StreamChannel3 types2Poco.StreamChannel
TaskStartedNotification3 types3Poco.TaskStartedNotification
TaskCancelledNotification3 types3Poco.TaskCancelledNotification
TaskFinishedNotification3 types3Poco.TaskFinishedNotification
TaskFailedNotification3 types3Poco.TaskFailedNotification
TaskProgressNotification3 types3Poco.TaskProgressNotification
TaskCustomNotification<C>3 types3Poco.TaskCustomNotification<C>
SAXException3 types4Poco.XML.SAXException
SAXNotRecognizedException4 types5Poco.XML.SAXNotRecognizedException
SAXNotSupportedException4 types5Poco.XML.SAXNotSupportedException
SAXParseException4 types5Poco.XML.SAXParseException
XMLWriter3 types1Poco.XML.XMLWriter
DefaultHandler4 types1Poco.XML.DefaultHandler
XMLFilterImpl6 types2Poco.XML.XMLFilterImpl
WhitespaceFilter8 types3Poco.XML.WhitespaceFilter
AbstractNode3 types3Poco.XML.AbstractNode
AbstractContainerNode4 types4Poco.XML.AbstractContainerNode
Element5 types5Poco.XML.Element
Document6 types5Poco.XML.Document
Attr4 types4Poco.XML.Attr
DOMException3 types4Poco.XML.DOMException
EventException3 types4Poco.XML.EventException
CharacterData4 types4Poco.XML.CharacterData
Text5 types5Poco.XML.Text
CDATASection6 types6Poco.XML.CDATASection
Comment5 types5Poco.XML.Comment
DocumentType5 types5Poco.XML.DocumentType
DocumentFragment5 types5Poco.XML.DocumentFragment
ProcessingInstruction4 types4Poco.XML.ProcessingInstruction
EntityReference4 types4Poco.XML.EntityReference
Entity5 types5Poco.XML.Entity
Notation4 types4Poco.XML.Notation
DOMBuilder3 types1Poco.XML.DOMBuilder
NetException3 types4Poco.Net.NetException
InvalidAddressException4 types5Poco.Net.InvalidAddressException
InvalidSocketException4 types5Poco.Net.InvalidSocketException
ServiceNotFoundException4 types5Poco.Net.ServiceNotFoundException
ConnectionAbortedException4 types5Poco.Net.ConnectionAbortedException
ConnectionResetException4 types5Poco.Net.ConnectionResetException
ConnectionRefusedException4 types5Poco.Net.ConnectionRefusedException
DNSException4 types5Poco.Net.DNSException
HostNotFoundException5 types6Poco.Net.HostNotFoundException
NoAddressFoundException5 types6Poco.Net.NoAddressFoundException
InterfaceNotFoundException4 types5Poco.Net.InterfaceNotFoundException
NoMessageException4 types5Poco.Net.NoMessageException
MessageException4 types5Poco.Net.MessageException
MultipartException5 types6Poco.Net.MultipartException
HTTPException4 types5Poco.Net.HTTPException
NotAuthenticatedException5 types6Poco.Net.NotAuthenticatedException
UnsupportedRedirectException5 types6Poco.Net.UnsupportedRedirectException
FTPException4 types5Poco.Net.FTPException
SMTPException4 types5Poco.Net.SMTPException
POP3Exception4 types5Poco.Net.POP3Exception
ICMPException4 types5Poco.Net.ICMPException
NTPException4 types5Poco.Net.NTPException
HTMLFormException4 types5Poco.Net.HTMLFormException
WebSocketException4 types5Poco.Net.WebSocketException
UnsupportedFamilyException4 types5Poco.Net.UnsupportedFamilyException
HTTPRequest3 types3Poco.Net.HTTPRequest
HTTPResponse3 types3Poco.Net.HTTPResponse
HTTPServerRequest4 types4Poco.Net.HTTPServerRequest
HTTPServerResponse4 types4Poco.Net.HTTPServerResponse
HTTPServerResponseImpl5 types5Poco.Net.HTTPServerResponseImpl
HTTPServerRequestImpl5 types5Poco.Net.HTTPServerRequestImpl
ReadableNotification3 types3Poco.Net.ReadableNotification
WritableNotification3 types3Poco.Net.WritableNotification
ErrorNotification3 types3Poco.Net.ErrorNotification
TimeoutNotification3 types3Poco.Net.TimeoutNotification

Statistics

Stat   baseClasses   Depth of inheritance
Sum:0527
Average:04.02
Minimum:01
Maximum:06
Standard deviation:01.33
Variance:01.78
warningCritical    Rule warning: Constructor should not call a virtual methods
// <Name>Constructor should not call a virtual methods</Name>

// Returns constructor of a non-sealed type calling virtual methods.
// In such a situation, if a derived class overrides the method,
// then the override method will be called before the derived constructor.
// This makes the class fragile to derive from.
//
// Violations reported can be solved by re-designing object initialisation
// or by marking the parent class as sealed, if possible.

warnif count > 0
from t in Application.Types where 
   
t.IsClass &&
  
!t.IsGeneratedByCompiler

from ctor in t.Constructors 
let virtualMethodsCalled = from mCalled in ctor.MethodsCalled
                           
where mCalled.IsVirtual &&
                                
(mCalled.ParentType == t ||
                                 
t.DeriveFrom(mCalled.ParentType))
                           
select mCalled
where virtualMethodsCalled.Count() > 0

select new { ctor , 
             
virtualMethodsCalled, 
             
// If there is no derived type, it might be 
             // an opportunity to mark t as sealed.
             t.DerivedTypes }

36 methods matched

methodsvirtualMethodsCalledDerivedTypesFull Name
Exception(conststd::string&,constPoco::Exception&,int)1 method100 typesPoco.Exception.Exception(conststd::string&,constPoco::Exception&,int)
Exception(constPoco::Exception&)1 method100 typesPoco.Exception.Exception(constPoco::Exception&)
Any(constPoco::Any&)1 method0 typePoco.Any.Any(constPoco::Any&)
LogFileImpl(conststd::string&)1 method1 typePoco.LogFileImpl.LogFileImpl(conststd::string&)
TaskFailedNotification(Poco::Task*,constPoco::Exception&)1 method0 typePoco.TaskFailedNotification.TaskFailedNotification(Poco::Task* ,constPoco::Exception&)
Var(constPoco::Dynamic::Var&)1 method0 typePoco.Dynamic.Var.Var(constPoco::Dynamic::Var&)
LocatorImpl(constPoco::XML::Locator&)4 methods0 typePoco.XML.LocatorImpl.LocatorImpl(constPoco::XML::Locator&)
SAXParseException(conststd::string&,constPoco::XML::Locator&)4 methods0 typePoco.XML.SAXParseException.SAXParseException(conststd::string& ,constPoco::XML::Locator&)
SAXParseException(conststd::string&,constPoco::XML::Locator& ,constPoco::Exception&)4 methods0 typePoco.XML.SAXParseException.SAXParseException(conststd::string& ,constPoco::XML::Locator&,constPoco::Exception&)
DOMBuilder(Poco::XML::XMLReader&,Poco::XML::NamePool*)3 methods0 typePoco.XML.DOMBuilder.DOMBuilder(Poco::XML::XMLReader& ,Poco::XML::NamePool*)
ServerSocket(constPoco::Net::SocketAddress&,int)2 methods1 typePoco.Net.ServerSocket.ServerSocket(constPoco::Net::SocketAddress&,int)
ServerSocket(Poco::UInt16,int)2 methods1 typePoco.Net.ServerSocket.ServerSocket(Poco::UInt16,int)
StreamSocketImpl(IPAddress::Family)1 method2 typesPoco.Net.StreamSocketImpl.StreamSocketImpl(IPAddress::Family)
ICMPSocketImpl(IPAddress::Family,int,int,int)1 method0 typePoco.Net.ICMPSocketImpl.ICMPSocketImpl(IPAddress::Family,int,int,int)
IncludePart(constPoco::Path&,constPoco::Path&)1 method0 typePoco.JSON.IncludePart.IncludePart(constPoco::Path&,constPoco::Path&)
StatementImpl(Poco::Data::SessionImpl&)1 method0 typePoco.Data.StatementImpl.StatementImpl(Poco::Data::SessionImpl&)
SimpleRowFormatter(constPoco::Data::SimpleRowFormatter&)2 methods0 typePoco.Data.SimpleRowFormatter.SimpleRowFormatter (constPoco::Data::SimpleRowFormatter&)
CryptoStreamBuf(std::istream&,Poco::Crypto::CryptoTransform* ,std::streamsize)1 method0 typePoco.Crypto.CryptoStreamBuf.CryptoStreamBuf(std::istream& ,Poco::Crypto::CryptoTransform*,std::streamsize)
CryptoStreamBuf(std::ostream&,Poco::Crypto::CryptoTransform* ,std::streamsize)1 method0 typePoco.Crypto.CryptoStreamBuf.CryptoStreamBuf(std::ostream& ,Poco::Crypto::CryptoTransform*,std::streamsize)
CryptoInputStream(std::istream&,Poco::Crypto::Cipher&,std::streamsize)1 method0 typePoco.Crypto.CryptoInputStream.CryptoInputStream(std::istream& ,Poco::Crypto::Cipher&,std::streamsize)
CryptoOutputStream(std::ostream&,Poco::Crypto::Cipher&,std::streamsize )1 method0 typePoco.Crypto.CryptoOutputStream.CryptoOutputStream(std::ostream& ,Poco::Crypto::Cipher&,std::streamsize)
DecryptingInputStream(std::istream&,Poco::Crypto::Cipher& ,std::streamsize)1 method0 typePoco.Crypto.DecryptingInputStream.DecryptingInputStream(std::istream& ,Poco::Crypto::Cipher&,std::streamsize)
DecryptingOutputStream(std::ostream&,Poco::Crypto::Cipher& ,std::streamsize)1 method0 typePoco.Crypto.DecryptingOutputStream.DecryptingOutputStream (std::ostream&,Poco::Crypto::Cipher&,std::streamsize)
EncryptingInputStream(std::istream&,Poco::Crypto::Cipher& ,std::streamsize)1 method0 typePoco.Crypto.EncryptingInputStream.EncryptingInputStream(std::istream& ,Poco::Crypto::Cipher&,std::streamsize)
EncryptingOutputStream(std::ostream&,Poco::Crypto::Cipher& ,std::streamsize)1 method0 typePoco.Crypto.EncryptingOutputStream.EncryptingOutputStream (std::ostream&,Poco::Crypto::Cipher&,std::streamsize)
InvalidCertificateHandler(bool)1 method3 typesPoco.Net.InvalidCertificateHandler.InvalidCertificateHandler(bool)
Context(Poco::Net::Context::Usage,conststd::string&,conststd::string& ,conststd::string&,Poco::Net::Context::VerificationMode,int,bool ,conststd::string&)1 method0 typePoco.Net.Context.Context(Poco::Net::Context::Usage,conststd::string& ,conststd::string&,conststd::string& ,Poco::Net::Context::VerificationMode,int,bool,conststd::string&)
Context(Poco::Net::Context::Usage,conststd::string& ,Poco::Net::Context::VerificationMode,int,bool,conststd::string&)1 method0 typePoco.Net.Context.Context(Poco::Net::Context::Usage,conststd::string& ,Poco::Net::Context::VerificationMode,int,bool,conststd::string&)
PrivateKeyPassphraseHandler(bool)1 method2 typesPoco.Net.PrivateKeyPassphraseHandler.PrivateKeyPassphraseHandler(bool)
HTTPSClientSession(conststd::string&,Poco::UInt16)1 method0 typePoco.Net.HTTPSClientSession.HTTPSClientSession(conststd::string& ,Poco::UInt16)
HTTPSClientSession(conststd::string&,Poco::UInt16,Context::Ptr)1 method0 typePoco.Net.HTTPSClientSession.HTTPSClientSession(conststd::string& ,Poco::UInt16,Context::Ptr)
HTTPSClientSession(conststd::string&,Poco::UInt16,Context::Ptr ,Session::Ptr)1 method0 typePoco.Net.HTTPSClientSession.HTTPSClientSession(conststd::string& ,Poco::UInt16,Context::Ptr,Session::Ptr)
SecureServerSocket(constPoco::Net::SocketAddress&,int)2 methods0 typePoco.Net.SecureServerSocket.SecureServerSocket (constPoco::Net::SocketAddress&,int)
SecureServerSocket(constPoco::Net::SocketAddress&,int,Context::Ptr)2 methods0 typePoco.Net.SecureServerSocket.SecureServerSocket (constPoco::Net::SocketAddress&,int,Context::Ptr)
SecureServerSocket(Poco::UInt16,int)2 methods0 typePoco.Net.SecureServerSocket.SecureServerSocket(Poco::UInt16,int)
SecureServerSocket(Poco::UInt16,int,Context::Ptr)2 methods0 typePoco.Net.SecureServerSocket.SecureServerSocket(Poco::UInt16,int ,Context::Ptr)

Statistics

Stat   virtualMethodsCalled   DerivedTypes
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00
warningCritical    Rule warning: Don't assign static fields from instance methods
// <Name>Don't assign static fields from instance methods</Name>
// Assigning static fields from instance methods leads to
// poorly maintainable and non thread-safe code.
// It is advised to assign static fields inline or from class constructor.
warnif count > 0
from f in Application.Fields where 
  
f.IsStatic &&
 
!f.IsGeneratedByCompiler && !f.IsGlobal
 
let assignedBy = f.MethodsAssigningMe.Where(m => !m.IsStatic)
where assignedBy .Count() > 0
select new { f, assignedBy }

13 fields matched

fieldsassignedByFull Name
IN_ENCODING2 methodsPoco.Base32DecoderBuf.IN_ENCODING
IN_ENCODING_INIT1 methodPoco.Base32DecoderBuf.IN_ENCODING_INIT
SECONDS1 methodPoco.Timespan.SECONDS
MINUTES3 methodsPoco.Timespan.MINUTES
HOURS3 methodsPoco.Timespan.HOURS
DAYS3 methodsPoco.Timespan.DAYS
IN_ENCODING2 methodsPoco.Base64DecoderBuf.IN_ENCODING
IN_ENCODING_INIT1 methodPoco.Base64DecoderBuf.IN_ENCODING_INIT
kMask321 methoddouble_conversion.UInt128.kMask32
PARSE_BUFFER_SIZE2 methodsPoco.XML.ParserEngine.PARSE_BUFFER_SIZE
_asciiClass1 methodPoco.JSON.Parser._asciiClass
_stateTransitionTable1 methodPoco.JSON.Parser._stateTransitionTable
_instance1 methodPoco.JSON.TemplateCache._instance

Statistics

Stat   assignedBy
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Avoid Abstract Classes with too many methods
// <Name>Avoid Abstract Classes with too many methods</Name>
// An abstract class  should abstract a clear and well-defined concept.
// Such concept shoudln't be represented with too many methods and property getter.
warnif count > 0 from t in JustMyCode.Types where 
  
t.IsAbstract
let methodsAndGetters = t.Methods
where methodsAndGetters.Count() > 10
select new { t, methodsAndGetters }

21 types matched

typesmethodsAndGettersFull Name
TextEncoding17 methodsPoco.TextEncoding
DigestEngine11 methodsPoco.DigestEngine
Task16 methodsPoco.Task
VarHolder43 methodsPoco.Dynamic.VarHolder
Attributes14 methodsPoco.XML.Attributes
ContentHandler13 methodsPoco.XML.ContentHandler
XMLReader18 methodsPoco.XML.XMLReader
Node30 methodsPoco.XML.Node
AbstractNode45 methodsPoco.XML.AbstractNode
Symbol31 methodsPoco.CppParser.Symbol
ICMPPacketImpl16 methodsPoco.Net.ICMPPacketImpl
IPAddressImpl25 methodsPoco.Net.Impl.IPAddressImpl
Handler18 methodsPoco.JSON.Handler
AbstractBinder93 methodsPoco.Data.AbstractBinder
AbstractBinding13 methodsPoco.Data.AbstractBinding
AbstractExtractor93 methodsPoco.Data.AbstractExtractor
AbstractPreparator95 methodsPoco.Data.AbstractPreparator
AbstractExtraction24 methodsPoco.Data.AbstractExtraction
SessionImpl29 methodsPoco.Data.SessionImpl
StatementImpl67 methodsPoco.Data.StatementImpl
ArchiveStrategy17 methodsPoco.Data.ArchiveStrategy

Statistics

Stat   methodsAndGetters
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0

120
Design  

warningCritical    Rule warning: Avoid namespaces with few types
// <Name>Avoid namespaces with few types</Name>
warnif count > 0 from n in JustMyCode.Namespaces where n.Name!=""
let types = n.ChildTypes.Where(t => !t.IsGeneratedByCompiler)
where 
  
types.Count() < 5 
  
orderby types.Count() ascending
select new { n, types } 

// Make sure that there is a logical organization 
// to each of your namespaces, and that there is a 
// valid reason for putting types in a sparsely 
// populated namespace. Namespaces should contain 
// types that are used together in most scenarios. 
// When their applications are mutually exclusive, 
// types should be located in separate namespaces

52 namespaces matched

namespacestypesFull Name
Poco.Impl1 typePoco.Impl
Poco.anonymous_namespace{base32decoder.cpp}1 typePoco.anonymous_namespace{base32decoder.cpp}
Poco.anonymous_namespace{format.cpp}1 typePoco.anonymous_namespace{format.cpp}
Poco.anonymous_namespace{nesteddiagnosticcontext.cpp}1 typePoco.anonymous_namespace{nesteddiagnosticcontext.cpp}
Poco.Dynamic.Impl1 typePoco.Dynamic.Impl
Poco.anonymous_namespace{base64decoder.cpp}1 typePoco.anonymous_namespace{base64decoder.cpp}
Poco.anonymous_namespace{threadlocal.cpp}1 typePoco.anonymous_namespace{threadlocal.cpp}
Poco.anonymous_namespace{threadpool.cpp}1 typePoco.anonymous_namespace{threadpool.cpp}
Poco.anonymous_namespace{logger.cpp}1 typePoco.anonymous_namespace{logger.cpp}
Poco.anonymous_namespace{loggingfactory.cpp}1 typePoco.anonymous_namespace{loggingfactory.cpp}
Poco.anonymous_namespace{loggingregistry.cpp}1 typePoco.anonymous_namespace{loggingregistry.cpp}
Poco.anonymous_namespace{patternformatter.cpp}1 typePoco.anonymous_namespace{patternformatter.cpp}
Poco.anonymous_namespace{notificationcenter.cpp}1 typePoco.anonymous_namespace{notificationcenter.cpp}
Poco.anonymous_namespace{notificationqueue.cpp}1 typePoco.anonymous_namespace{notificationqueue.cpp}
Poco.anonymous_namespace{prioritynotificationqueue.cpp}1 typePoco.anonymous_namespace{prioritynotificationqueue.cpp}
Poco.anonymous_namespace{temporaryfile.cpp}1 typePoco.anonymous_namespace{temporaryfile.cpp}
Poco.anonymous_namespace{uuid.cpp}1 typePoco.anonymous_namespace{uuid.cpp}
Poco.anonymous_namespace{uuidgenerator.cpp}1 typePoco.anonymous_namespace{uuidgenerator.cpp}
Poco.anonymous_namespace{textencoding.cpp}1 typePoco.anonymous_namespace{textencoding.cpp}
Poco.anonymous_namespace{utf8string.cpp}1 typePoco.anonymous_namespace{utf8string.cpp}
Poco.anonymous_namespace{uristreamopener.cpp}1 typePoco.anonymous_namespace{uristreamopener.cpp}
anonymous_namespace{numericstring.cpp}1 typeanonymous_namespace{numericstring.cpp}
std1 typestd
anonymous_namespace{process.cpp}1 typeanonymous_namespace{process.cpp}
anonymous_namespace{textconverter.cpp}1 typeanonymous_namespace{textconverter.cpp}
Poco.XML.anonymous_namespace{parserengine.cpp}1 typePoco.XML.anonymous_namespace{parserengine.cpp}
Poco.XML.anonymous_namespace{xmlwriter.cpp}1 typePoco.XML.anonymous_namespace{xmlwriter.cpp}
Poco.XML.anonymous_namespace{domimplementation.cpp}1 typePoco.XML.anonymous_namespace{domimplementation.cpp}
Poco.XML.anonymous_namespace{elementsbytagnamelist.cpp}1 typePoco.XML.anonymous_namespace{elementsbytagnamelist.cpp}
anonymous_namespace{eventdispatcher.cpp}1 typeanonymous_namespace{eventdispatcher.cpp}
Poco.CppParser.anonymous_namespace{struct.cpp}1 typePoco.CppParser.anonymous_namespace{struct.cpp}
Poco.Net.anonymous_namespace{networkinterface.cpp}1 typePoco.Net.anonymous_namespace{networkinterface.cpp}
Poco.Net.anonymous_namespace{partsource.cpp}1 typePoco.Net.anonymous_namespace{partsource.cpp}
Poco.Net.anonymous_namespace{httpcookie.cpp}1 typePoco.Net.anonymous_namespace{httpcookie.cpp}
Poco.Net.anonymous_namespace{tcpserverdispatcher.cpp}1 typePoco.Net.anonymous_namespace{tcpserverdispatcher.cpp}
Poco.Net.anonymous_namespace{httpsessionfactory.cpp}1 typePoco.Net.anonymous_namespace{httpsessionfactory.cpp}
Poco.Net.anonymous_namespace{socketnotifier.cpp}1 typePoco.Net.anonymous_namespace{socketnotifier.cpp}
anonymous_namespace{ipaddressimpl.cpp}1 typeanonymous_namespace{ipaddressimpl.cpp}
anonymous_namespace{httpauthenticationparams.cpp}1 typeanonymous_namespace{httpauthenticationparams.cpp}
anonymous_namespace{httpdigestcredentials.cpp}1 typeanonymous_namespace{httpdigestcredentials.cpp}
Poco.Data.Keywords1 typePoco.Data.Keywords
std1 typestd
Poco.Crypto.anonymous_namespace{cipherfactory.cpp}1 typePoco.Crypto.anonymous_namespace{cipherfactory.cpp}
Poco.Crypto.anonymous_namespace{rsakey.cpp}1 typePoco.Crypto.anonymous_namespace{rsakey.cpp}
Poco.Net.anonymous_namespace{sslmanager.cpp}1 typePoco.Net.anonymous_namespace{sslmanager.cpp}
Poco.anonymous_namespace{activedispatcher.cpp}2 typesPoco.anonymous_namespace{activedispatcher.cpp}
Poco.Net.anonymous_namespace{mailmessage.cpp}2 typesPoco.Net.anonymous_namespace{mailmessage.cpp}
double_conversion3 typesdouble_conversion
Poco.Crypto.anonymous_namespace{cipherimpl.cpp}3 typesPoco.Crypto.anonymous_namespace{cipherimpl.cpp}
Poco.Crypto.anonymous_namespace{rsacipherimpl.cpp}3 typesPoco.Crypto.anonymous_namespace{rsacipherimpl.cpp}
Poco.Dynamic4 typesPoco.Dynamic
Poco.Dynamic4 typesPoco.Dynamic

Statistics

Stat   types
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Nested types should not be visible
// <Name>Nested types should not be visible</Name>
warnif count > 0 from t in JustMyCode.Types where 
  
t.IsNested && 
 
!t.IsGeneratedByCompiler &&
 
!t.IsPrivate 
select new { t, t.NbLinesOfCode, t.Visibility } 


// A nested type is a type declared within the 
// scope of another type. Nested types are useful 
// for encapsulating private implementation details 
// of the containing type. Used for this purpose, 
// nested types should not be externally visible. 
// Do not use externally visible nested types for 
// logical grouping or to avoid name collisions; 
// instead, use namespaces.

182 types matched

types# lines of code (LOC)VisibilityFull Name
POCO_STATIC_ASSERTION_FAILURE<true>+AnonymousEnumN/APublicPOCO_STATIC_ASSERTION_FAILURE<true>+AnonymousEnum
ct_data_s+Anonymous0Publicct_data_s+Anonymous
ct_data_s+Anonymous0Publicct_data_s+Anonymous
Ascii+CharacterPropertiesN/APublicPoco.Ascii+CharacterProperties
Checksum+TypeN/APublicPoco.Checksum+Type
ThreadImpl+CallbackData2PublicPoco.ThreadImpl+CallbackData
ThreadImpl+PriorityN/APublicPoco.ThreadImpl+Priority
ThreadImpl+PolicyN/APublicPoco.ThreadImpl+Policy
Thread+PriorityN/APublicPoco.Thread+Priority
Thread+PolicyN/APublicPoco.Thread+Policy
AbstractEvent<TArgs,TStrategy,TDelegate,TMutex>+NotifyAsyncParams4ProtectedPoco.AbstractEvent<TArgs,TStrategy,TDelegate,TMutex>+NotifyAsyncParams
AbstractEvent<void,type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2>+NotifyAsyncParams3ProtectedPoco.AbstractEvent<void,type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2>+NotifyAsyncParams
DirectoryWatcher+DirectoryEventTypeN/APublicPoco.DirectoryWatcher+DirectoryEventType
DirectoryWatcher+DirectoryEventMaskN/APublicPoco.DirectoryWatcher+DirectoryEventMask
DirectoryWatcher+AnonymousEnumN/APublicPoco.DirectoryWatcher+AnonymousEnum
DirectoryWatcher+DirectoryEvent2PublicPoco.DirectoryWatcher+DirectoryEvent
Path+StyleN/APublicPoco.Path+Style
Glob+OptionsN/APublicPoco.Glob+Options
DirectoryWatcherStrategy+ItemInfo7ProtectedPoco.DirectoryWatcherStrategy+ItemInfo
IsReference<T>+AnonymousEnumN/APublicPoco.IsReference<T>+AnonymousEnum
IsReference<type-parameter-0-0&>+AnonymousEnumN/APublicPoco.IsReference<type-parameter-0-0&>+AnonymousEnum
IsReference<consttype-parameter-0-0&>+AnonymousEnumN/APublicPoco.IsReference<consttype-parameter-0-0&>+AnonymousEnum
IsConst<T>+AnonymousEnumN/APublicPoco.IsConst<T>+AnonymousEnum
IsConst<consttype-parameter-0-0&>+AnonymousEnumN/APublicPoco.IsConst<consttype-parameter-0-0&>+AnonymousEnum
IsConst<consttype-parameter-0-0>+AnonymousEnumN/APublicPoco.IsConst<consttype-parameter-0-0>+AnonymousEnum
IsConst<type-parameter-0-0const[i]>+AnonymousEnumN/APublicPoco.IsConst<type-parameter-0-0const[i]>+AnonymousEnum
Any+Holder3PublicPoco.Any+Holder
FPEnvironmentImpl+RoundingModeImplN/AProtectedPoco.FPEnvironmentImpl+RoundingModeImpl
FPEnvironmentImpl+FlagImplN/AProtectedPoco.FPEnvironmentImpl+FlagImpl
FPEnvironment+RoundingModeN/APublicPoco.FPEnvironment+RoundingMode
FPEnvironment+FlagN/APublicPoco.FPEnvironment+Flag
TextEncoding+AnonymousEnumN/APublicPoco.TextEncoding+AnonymousEnum
NumberFormatter+BoolFormatN/APublicPoco.NumberFormatter+BoolFormat
TraverseBase+AnonymousEnumN/APublicPoco.TraverseBase+AnonymousEnum
StringTokenizer+OptionsN/APublicPoco.StringTokenizer+Options
UTF32Encoding+ByteOrderTypeN/APublicPoco.UTF32Encoding+ByteOrderType
DateTime+MonthsN/APublicPoco.DateTime+Months
DateTime+DaysOfWeekN/APublicPoco.DateTime+DaysOfWeek
DateTimeFormatter+AnonymousEnumN/APublicPoco.DateTimeFormatter+AnonymousEnum
BinaryReader+StreamByteOrderN/APublicPoco.BinaryReader+StreamByteOrder
BinaryWriter+StreamByteOrderN/APublicPoco.BinaryWriter+StreamByteOrder
DeflatingStreamBuf+StreamTypeN/APublicPoco.DeflatingStreamBuf+StreamType
FileStreamBuf+AnonymousEnumN/AProtectedPoco.FileStreamBuf+AnonymousEnum
InflatingStreamBuf+StreamTypeN/APublicPoco.InflatingStreamBuf+StreamType
Token+ClassN/APublicPoco.Token+Class
MD4Engine+AnonymousEnumN/APublicPoco.MD4Engine+AnonymousEnum
MD5Engine+AnonymousEnumN/APublicPoco.MD5Engine+AnonymousEnum
Random+TypeN/APublicPoco.Random+Type
SHA1Engine+AnonymousEnumN/APublicPoco.SHA1Engine+AnonymousEnum
Manifest<B>+Iterator13PublicPoco.Manifest<B>+Iterator
SharedLibrary+FlagsN/APublicPoco.SharedLibrary+Flags
RegularExpression+OptionsN/APublicPoco.RegularExpression+Options
RegularExpression+Match0PublicPoco.RegularExpression+Match
Message+PriorityN/APublicPoco.Message+Priority
ColorConsoleChannel+ColorN/AProtectedPoco.ColorConsoleChannel+Color
WindowsColorConsoleChannel+ColorN/AProtectedPoco.WindowsColorConsoleChannel+Color
Unicode+CharacterCategoryN/APublicPoco.Unicode+CharacterCategory
Unicode+CharacterTypeN/APublicPoco.Unicode+CharacterType
Unicode+ScriptN/APublicPoco.Unicode+Script
Unicode+AnonymousEnumN/APublicPoco.Unicode+AnonymousEnum
Unicode+CharacterProperties0PublicPoco.Unicode+CharacterProperties
PathImpl+AnonymousEnumN/APublicPoco.PathImpl+AnonymousEnum
Pipe+CloseModeN/APublicPoco.Pipe+CloseMode
SharedMemory+AccessModeN/APublicPoco.SharedMemory+AccessMode
UUID+VersionN/APublicPoco.UUID+Version
UTF16Encoding+ByteOrderTypeN/APublicPoco.UTF16Encoding+ByteOrderType
URIStreamOpener+AnonymousEnumN/APublicPoco.URIStreamOpener+AnonymousEnum
Task+TaskStateN/APublicPoco.Task+TaskState
AttributesImpl+Attribute0PublicPoco.XML.AttributesImpl+Attribute
XMLWriter+OptionsN/APublicPoco.XML.XMLWriter+Options
Node+AnonymousEnumN/APublicPoco.XML.Node+AnonymousEnum
Event+PhaseTypeN/APublicPoco.XML.Event+PhaseType
MutationEvent+AttrChangeTypeN/APublicPoco.XML.MutationEvent+AttrChangeType
DOMException+AnonymousEnumN/APublicPoco.XML.DOMException+AnonymousEnum
EventException+AnonymousEnumN/APublicPoco.XML.EventException+AnonymousEnum
NodeFilter+AnonymousEnumN/APublicPoco.XML.NodeFilter+AnonymousEnum
NodeFilter+WhatToShowN/APublicPoco.XML.NodeFilter+WhatToShow
OperatorToken+TokensN/APublicPoco.CppParser.OperatorToken+Tokens
IdentifierToken+KeywordsN/APublicPoco.CppParser.IdentifierToken+Keywords
Symbol+KindN/APublicPoco.CppParser.Symbol+Kind
Symbol+AccessN/APublicPoco.CppParser.Symbol+Access
Function+FlagsN/APublicPoco.CppParser.Function+Flags
Struct+FlagsN/APublicPoco.CppParser.Struct+Flags
Struct+Base0PublicPoco.CppParser.Struct+Base
Variable+FlagsN/APublicPoco.CppParser.Variable+Flags
Utility+FwdDeclBlock0PublicPoco.CppParser.Utility+FwdDeclBlock
DNS+HintFlagN/APublicPoco.Net.DNS+HintFlag
SocketAddress+AnonymousEnumN/APublicPoco.Net.SocketAddress+AnonymousEnum
IPAddress+FamilyN/APublicPoco.Net.IPAddress+Family
IPAddress+AnonymousEnumN/APublicPoco.Net.IPAddress+AnonymousEnum
NetworkInterface+AddressTypeN/APublicPoco.Net.NetworkInterface+AddressType
NetworkInterface+TypeN/APublicPoco.Net.NetworkInterface+Type
NetworkInterface+IPVersionN/APublicPoco.Net.NetworkInterface+IPVersion
SocketImpl+SelectModeN/APublicPoco.Net.SocketImpl+SelectMode
Socket+SelectModeN/APublicPoco.Net.Socket+SelectMode
DialogSocket+TelnetCodesN/APublicPoco.Net.DialogSocket+TelnetCodes
HTTPResponse+HTTPStatusN/APublicPoco.Net.HTTPResponse+HTTPStatus
HTTPBufferAllocator+AnonymousEnumN/APublicPoco.Net.HTTPBufferAllocator+AnonymousEnum
HTTPSession+AnonymousEnumN/APublicPoco.Net.HTTPSession+AnonymousEnum
HTTPClientSession+AnonymousEnumN/AProtectedPoco.Net.HTTPClientSession+AnonymousEnum

Statistics

Stat   # lines of code (LOC)   Visibility
Sum:410
Average:2.280
Minimum:00
Maximum:130
Standard deviation:3.460
Variance:11.980

420
Architecture and Layering  

warningCritical    Rule warning: Avoid namespaces mutually dependent
// <Name>Avoid namespaces mutually dependent</Name>
warnif count > 0
// Foreach pair of namespace mutually dependent, this rule lists pairs.
// The pair { first, second } is formatted to show that first namespace shouldn't use the second namespace.
// The first/second order is inferred from the number of types used by each other.
// The first namespace is using less types of the second.
// It means that the first namespace is certainly at a lower level in the architecture, than the second.
// To explore the coupling between the two namespaces, you can export:
//  - typesOfFirstUsedBySecond to the vertical header of the dependency matrix
//  - typesOfSecondUsedByFirst to the horizontal header of the dependency matrix
//
// Following these advices is useful to avoid namespaces dependency cycles.



// Optimization: restreint application Projects set
// If some namespaces are mutually dependent
//  - They must be declared in the same project
//  - The parent project must ContainsNamespaceDependencyCycle
from project in Application.Projects.Where(a => a.ContainsNamespaceDependencyCycle != null && a.ContainsNamespaceDependencyCycle.Value)

// hashset is used to avoid reporting both A <-> B and B <-> A
let hashset = new HashSet<INamespace>()

// Optimization: restreint namespaces set
// If a namespace doesn't have a Level value, it must be in a dependency cycle
// or it must be using directly or indirectly a dependency cycle.
let namespacesSuspect = project.ChildNamespaces.Where(n => n.Level == null)

from nA in namespacesSuspect

// Select namespaces mutually dependent with nA
let unused = hashset.Add(nA) // Populate hashset
let namespacesMutuallyDependentWith_nA = nA.NamespacesUsed.Using(nA)
          
.Except(hashset) // <-- avoid reporting both A <-> B and B <-> A 
where namespacesMutuallyDependentWith_nA.Count() > 0

from nB in namespacesMutuallyDependentWith_nA

// nA and nB are mutually dependent
// Select first the one that shouldn't use the other.
// The first namespace is inferred from the fact that it is using less types of the second.
let typesOfBUsedByA = nB.ChildTypes.UsedBy(nA)
let typesOfAUsedByB = nA.ChildTypes.UsedBy(nB)
let first = (typesOfBUsedByA.Count() > typesOfAUsedByB.Count()) ? nB : nA
let second = (first == nA) ? nB : nA
let typesOfFirstUsedBySecond = (first == nA) ? typesOfAUsedByB : typesOfBUsedByA
let typesOfSecondUsedByFirst = (first == nA) ? typesOfBUsedByA : typesOfAUsedByB
where typesOfFirstUsedBySecond.Count()>0 && typesOfSecondUsedByFirst.Count() >0 
&& !first.Name.Contains("anonymous_namespace") && !second.Name.Contains("anonymous_namespace")
select new { first, shouldntUse = second, typesOfFirstUsedBySecond, typesOfSecondUsedByFirst }

1 namespaces matched

namespaceshouldntUsetypesOfFirstUsedBySecondtypesOfSecondUsedByFirstFull Name
Poco.Net.ImplPoco.Net6 types1 typePoco.Net.Impl

Statistics

Stat   shouldntUse   typesOfFirstUsedBySecond   typesOfSecondUsedByFirst
Sum:000
Average:000
Minimum:000
Maximum:000
Standard deviation:000
Variance:000
warningCritical    Rule warning: Avoid namespaces dependency cycles
// <Name>Avoid namespaces dependency cycles</Name>
warnif count > 0
// This query lists all application namespaces dependency cyles.
// Each row shows a different cycle, prefixed with a namespace entangled in the cycle.
//
// To browse a cycle on the dependency graph or the dependency matrix, just right click
// a cycle cell and export namespaces matched to the dependency graph or matrix!
//
// In the matrix, dependency cycles are represented with red squares and black cells.
// To browse easily dependency cycles, the Matrix comes with the option:
//   --> Display Direct and Indirect Dependencies
//
 
// Optimization: restreint application Projects set
// If some namespaces are mutually dependent
//  - They must be declared in the same project
//  - The parent project must ContainsNamespaceDependencyCycle
from project in Application.Projects
                 
.Where(a => a.ContainsNamespaceDependencyCycle != null && 
                             
a.ContainsNamespaceDependencyCycle.Value)

// Optimization: restreint namespaces set
// A namespace involved in a cycle necessarily have a null Level.
let namespacesSuspect = project.ChildNamespaces.Where(n => n.Level == null)

// hashset is used to avoid iterating again on namespaces already caught in a cycle.
let hashset = new HashSet<INamespace>()


from suspect in namespacesSuspect
   
// By commenting this line, the query matches all namespaces involved in a cycle.
   where !hashset.Contains(suspect)

   
// Define 2 code metrics
   // - Namespaces depth of is using indirectly the suspect namespace.
   // - Namespaces depth of is used by the suspect namespace indirectly.
   // Note: for direct usage the depth is equal to 1.
   let namespacesUserDepth = namespacesSuspect.DepthOfIsUsing(suspect)
   
let namespacesUsedDepth = namespacesSuspect.DepthOfIsUsedBy(suspect)

   
// Select namespaces that are both using and used by namespaceSuspect
   let usersAndUsed = from n in namespacesSuspect where 
                         
namespacesUserDepth[n] > 0 && 
                         
namespacesUsedDepth[n] > 0 && !n.Name.Contains("anonymous_namespace")
                      
select n

   
where usersAndUsed.Count() > 0

   
// Here we've found namespace(s) both using and used by the suspect namespace.
   // A cycle involving the suspect namespace is found!
   let cycle = usersAndUsed.Concat(new[] { suspect  })

   
// Fill hashset with namespaces in the cycle.
   // .ToArray() is needed to force the iterating process.
   let unused1 = (from n in cycle let unused2 = hashset.Add(n) select n).ToArray()

select new { suspect, cycle }

38 namespaces matched

namespacescycleFull Name
4 namespaces
Poco.anonymous_namespace{base32decoder.cpp}5 namespacesPoco.anonymous_namespace{base32decoder.cpp}
Poco.anonymous_namespace{format.cpp}5 namespacesPoco.anonymous_namespace{format.cpp}
Poco.anonymous_namespace{nesteddiagnosticcontext.cpp}5 namespacesPoco.anonymous_namespace{nesteddiagnosticcontext.cpp}
Poco.Dynamic2 namespacesPoco.Dynamic
Poco.anonymous_namespace{base64decoder.cpp}5 namespacesPoco.anonymous_namespace{base64decoder.cpp}
Poco.anonymous_namespace{activedispatcher.cpp}5 namespacesPoco.anonymous_namespace{activedispatcher.cpp}
Poco.anonymous_namespace{threadlocal.cpp}5 namespacesPoco.anonymous_namespace{threadlocal.cpp}
Poco.anonymous_namespace{threadpool.cpp}5 namespacesPoco.anonymous_namespace{threadpool.cpp}
Poco.anonymous_namespace{loggingfactory.cpp}5 namespacesPoco.anonymous_namespace{loggingfactory.cpp}
Poco.anonymous_namespace{loggingregistry.cpp}5 namespacesPoco.anonymous_namespace{loggingregistry.cpp}
Poco.anonymous_namespace{notificationcenter.cpp}5 namespacesPoco.anonymous_namespace{notificationcenter.cpp}
Poco.anonymous_namespace{notificationqueue.cpp}5 namespacesPoco.anonymous_namespace{notificationqueue.cpp}
Poco.anonymous_namespace{prioritynotificationqueue.cpp}5 namespacesPoco.anonymous_namespace{prioritynotificationqueue.cpp}
Poco.anonymous_namespace{temporaryfile.cpp}5 namespacesPoco.anonymous_namespace{temporaryfile.cpp}
Poco.anonymous_namespace{uuid.cpp}5 namespacesPoco.anonymous_namespace{uuid.cpp}
Poco.anonymous_namespace{uuidgenerator.cpp}5 namespacesPoco.anonymous_namespace{uuidgenerator.cpp}
Poco.anonymous_namespace{textencoding.cpp}5 namespacesPoco.anonymous_namespace{textencoding.cpp}
Poco.anonymous_namespace{utf8string.cpp}5 namespacesPoco.anonymous_namespace{utf8string.cpp}
Poco.anonymous_namespace{uristreamopener.cpp}5 namespacesPoco.anonymous_namespace{uristreamopener.cpp}
anonymous_namespace{numericstring.cpp}5 namespacesanonymous_namespace{numericstring.cpp}
Poco.XML.anonymous_namespace{parserengine.cpp}2 namespacesPoco.XML.anonymous_namespace{parserengine.cpp}
Poco.XML.anonymous_namespace{xmlwriter.cpp}2 namespacesPoco.XML.anonymous_namespace{xmlwriter.cpp}
Poco.XML.anonymous_namespace{domimplementation.cpp}2 namespacesPoco.XML.anonymous_namespace{domimplementation.cpp}
Poco.XML.anonymous_namespace{elementsbytagnamelist.cpp}2 namespacesPoco.XML.anonymous_namespace{elementsbytagnamelist.cpp}
Poco.CppParser.anonymous_namespace{struct.cpp}2 namespacesPoco.CppParser.anonymous_namespace{struct.cpp}
Poco.Net2 namespacesPoco.Net
Poco.Net.anonymous_namespace{networkinterface.cpp}3 namespacesPoco.Net.anonymous_namespace{networkinterface.cpp}
Poco.Net.anonymous_namespace{httpsessionfactory.cpp}3 namespacesPoco.Net.anonymous_namespace{httpsessionfactory.cpp}
Poco.Net.anonymous_namespace{socketnotifier.cpp}3 namespacesPoco.Net.anonymous_namespace{socketnotifier.cpp}
Poco.Net.anonymous_namespace{mailmessage.cpp}3 namespacesPoco.Net.anonymous_namespace{mailmessage.cpp}
2 namespaces
Poco.Data2 namespacesPoco.Data
2 namespaces
Poco.Crypto.anonymous_namespace{cipherfactory.cpp}3 namespacesPoco.Crypto.anonymous_namespace{cipherfactory.cpp}
Poco.Crypto.anonymous_namespace{cipherimpl.cpp}3 namespacesPoco.Crypto.anonymous_namespace{cipherimpl.cpp}
Poco.Crypto.anonymous_namespace{rsacipherimpl.cpp}3 namespacesPoco.Crypto.anonymous_namespace{rsacipherimpl.cpp}
Poco.Net.anonymous_namespace{sslmanager.cpp}2 namespacesPoco.Net.anonymous_namespace{sslmanager.cpp}

Statistics

Stat   cycle
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0

030
Best Practices  

warningCritical    Rule warning: Use reinterpret_cast carrefully

        
// <Name>Use reinterpret_cast carrefully</Name> 
        warnif count >0 (from m in Methods where m.IsUsing ("Keywords.reinterpret_cast")
        
select new { m, m.NbLinesOfCode }).Take(10)
        

10 methods matched

methods# lines of code (LOC)Full Name
update(constchar*,unsignedint)4Poco.Checksum.update(constchar*,unsignedint)
runnableEntry(void*)10Poco.ThreadImpl.runnableEntry(void*)
callableEntry(void*)11Poco.ThreadImpl.callableEntry(void*)
get()1Poco.ThreadImpl+CurrentThreadHolder.get()
nodeIdImpl(NodeId&)20Poco.EnvironmentImpl.nodeIdImpl(NodeId&)
release(void*)2Poco.MemoryPool.release(void*)
poolGrow(STRING_POOL*)58__Globals.poolGrow(STRING_POOL*)
parseCharInputStream(XMLCharInputStream&)10Poco.XML.ParserEngine.parseCharInputStream(XMLCharInputStream&)
parseExternalCharInputStream(XML_Parser,XMLCharInputStream&)16Poco.XML.ParserEngine.parseExternalCharInputStream(XML_Parser ,XMLCharInputStream&)
handleStartElement(void*,constXML_Char*,constXML_Char**)6Poco.XML.ParserEngine.handleStartElement(void*,constXML_Char* ,constXML_Char**)

Statistics

Stat   # lines of code (LOC)
Sum:138
Average:13.8
Minimum:1
Maximum:58
Standard deviation:15.79
Variance:249.36
warningCritical    Rule warning: Avoid overusing of dynamic_cast

        
// <Name>Avoid overusing of dynamic_cast</Name>
        warnif count > 5  (from m in Methods where m.IsUsing ("Keywords.dynamic_cast")
        
select new { m, m.NbLinesOfCode }).Take(10)
        
//Overusing of dynamic_cast can be an indicator of bad design
        

10 methods matched

methods# lines of code (LOC)Full Name
cast<Other>()4Poco.SharedPtr<C,RC,RP,>.cast<Other>()
cast<Other>()2Poco.AutoPtr<C>.cast<Other>()
run()8Poco.ActiveDispatcher.run()
run()7Poco.AsyncChannel.run()
notify(Poco::Notification*)6Poco.Observer<C,N>.notify(Poco::Notification*)
equals(constPoco::AbstractObserver&)2Poco.Observer<C,N>.equals(constPoco::AbstractObserver&)
accepts(Poco::Notification*)1Poco.Observer<C,N>.accepts(Poco::Notification*)
init()31Poco.XML.ParserEngine.init()
findElement(constXMLString&,constXMLString&,constPoco::XML::Node* ,constNSMap*)11Poco.XML.AbstractContainerNode.findElement(constXMLString& ,constXMLString&,constPoco::XML::Node*,constNSMap*)
findAttribute(constXMLString&,constPoco::XML::Node*,constNSMap*)11Poco.XML.AbstractContainerNode.findAttribute(constXMLString& ,constPoco::XML::Node*,constNSMap*)

Statistics

Stat   # lines of code (LOC)
Sum:83
Average:8.3
Minimum:1
Maximum:31
Standard deviation:8.3
Variance:68.81
warningCritical    Rule warning: Avoid using goto keyword

        
// <Name>Avoid using goto keyword</Name>
        warnif count >0 (from m in Methods where m.IsUsing ("Keywords.goto")
        
select new { m, m.NbLinesOfCode }).Take(10)
        

10 methods matched

methods# lines of code (LOC)Full Name
StringToIeee(constchar*,int,int*,bool)188__Globals.StringToIeee(constchar*,int,int*,bool)
inflateBack(z_streamp,in_func,void*,out_func,void*)311__Globals.inflateBack(z_streamp,in_func,void*,out_func,void*)
inflate_fast(z_streamp,unsignedint)203__Globals.inflate_fast(z_streamp,unsignedint)
inflate(z_streamp,int)609__Globals.inflate(z_streamp,int)
pcre_compile2(constchar*,int,int*,constchar**,int*,constunsignedchar*)257__Globals.pcre_compile2(constchar*,int,int*,constchar**,int* ,constunsignedchar*)
get_ucp(constuschar**,BOOL*,int*,int*)45__Globals.get_ucp(constuschar**,BOOL*,int*,int*)
could_be_empty_branch(constuschar*,constuschar*,BOOL)121__Globals.could_be_empty_branch(constuschar*,constuschar*,BOOL)
compile_branch(int*,uschar**,constuschar**,int*,int*,int* ,branch_chain*,compile_data*,int*)1 933__Globals.compile_branch(int*,uschar**,constuschar**,int*,int*,int* ,branch_chain*,compile_data*,int*)
pcre_exec(constpcre*,constpcre_extra*,constchar*,int,int,int,int*,int)345__Globals.pcre_exec(constpcre*,constpcre_extra*,constchar*,int,int,int ,int*,int)
match(constunsignedchar*,constuschar*,constuschar*,int,match_data* ,unsignedlong,eptrblock*,int,unsignedint)2 669__Globals.match(constunsignedchar*,constuschar*,constuschar*,int ,match_data*,unsignedlong,eptrblock*,int,unsignedint)

Statistics

Stat   # lines of code (LOC)
Sum:6 681
Average:668.1
Minimum:45
Maximum:2 669
Standard deviation:845.13
Variance:714 236

110
Constness  

  • 1 validated Rule(s)
  • 1 Rule(s) violated
  • 0 Rules or Queries with Error (syntax error, exception thrown, time-out)
warningCritical    Rule warning: Use const_cast carrefully

          
// <Name>Use const_cast carrefully</Name>
          warnif count >0 (from m in Methods where m.IsUsing ("Keywords.const_cast")
          
select new { m, m.NbLinesOfCode }).Take(10)
          

10 methods matched

methods# lines of code (LOC)Full Name
AnyCast<ValueType>(constPoco::Any*)1Poco.__Globals.AnyCast<ValueType>(constPoco::Any*)
AnyCast<ValueType>(constPoco::Any&)2Poco.__Globals.AnyCast<ValueType>(constPoco::Any&)
RefAnyCast<ValueType>(constPoco::Any&)4Poco.__Globals.RefAnyCast<ValueType>(constPoco::Any&)
UnsafeAnyCast<ValueType>(constPoco::Any*)1Poco.__Globals.UnsafeAnyCast<ValueType>(constPoco::Any*)
SharedPtr<C,RC,RP><Other,OtherRP>(constSharedPtr<Other,RC,OtherRP>&)3Poco.SharedPtr<C,RC,RP,>.SharedPtr<C,RC,RP><Other,OtherRP> (constSharedPtr<Other,RC,OtherRP>&)
channelForName(conststd::string&)6Poco.LoggingRegistry.channelForName(conststd::string&)
formatterForName(conststd::string&)6Poco.LoggingRegistry.formatterForName(conststd::string&)
launchImpl(conststd::string&,constArgsImpl&,conststd::string& ,Poco::Pipe*,Poco::Pipe*,Poco::Pipe*,constEnvImpl&)70Poco.ProcessImpl.launchImpl(conststd::string&,constArgsImpl& ,conststd::string&,Poco::Pipe*,Poco::Pipe*,Poco::Pipe*,constEnvImpl&)
begin()3Poco.Dynamic.Var.begin()
end()1Poco.Dynamic.Var.end()

Statistics

Stat   # lines of code (LOC)
Sum:97
Average:9.7
Minimum:1
Maximum:70
Standard deviation:20.18
Variance:407.21

110
Exception  

warningCritical    Rule warning: Avoid using Generic Catch(...)

          
// <Name>Avoid using Generic Catch(...)</Name>
          warnif count >0 (from m in Methods where m.IsUsing ("Keywords.generic_catch")
          
select new { m, m.NbLinesOfCode }).Take(10)
        

10 methods matched

methods# lines of code (LOC)Full Name
lockImpl()4Poco.MutexImpl.lockImpl()
tryLockImpl()4Poco.MutexImpl.tryLockImpl()
tryLockImpl(long)12Poco.MutexImpl.tryLockImpl(long)
SharedPtr<C,RC,RP>(C*)5Poco.SharedPtr<C,RC,RP,>.SharedPtr<C,RC,RP>(C*)
run()10Poco.ActiveRunnable<ResultType,ArgType,OwnerType>.run()
run()10Poco.ActiveRunnable<void,type-parameter-0-0,type-parameter-0-1>.run()
run()10Poco.ActiveRunnable<type-parameter-0-0,void,type-parameter-0-1>.run()
run()10Poco.ActiveRunnable<void,void,type-parameter-0-0>.run()
runnableEntry(void*)10Poco.ThreadImpl.runnableEntry(void*)
callableEntry(void*)11Poco.ThreadImpl.callableEntry(void*)

Statistics

Stat   # lines of code (LOC)
Sum:86
Average:8.6
Minimum:4
Maximum:12
Standard deviation:2.87
Variance:8.24

030
Dead Code  

warningCritical    Rule warning: Potentially dead Types
// <Name>Potentially dead Types</Name>
warnif count > 0

let tt=Types.UsedByAny(Application.Methods).ToHashSet()
// Select types unused
let typesUnused = 
   
from t in JustMyCode.Types where
   
t.NbTypesUsingMe == 0 && !t.IsGlobal  select t



from t in typesUnused  where !tt.Contains(t)
select new { t }
        
        

159 types matched

typesFull Name
POCO_STATIC_ASSERTION_FAILURE<true>POCO_STATIC_ASSERTION_FAILURE<true>
POCO_STATIC_ASSERTION_FAILURE<true>+AnonymousEnumPOCO_STATIC_ASSERTION_FAILURE<true>+AnonymousEnum
poco_static_assert_test<x>poco_static_assert_test<x>
gzFile_sgzFile_s
internal_stateinternal_state
AnonymousEnumAnonymousEnum
dfa_match_datadfa_match_data
NullMutexPoco.NullMutex
Base32DecoderPoco.Base32Decoder
Base32EncoderPoco.Base32Encoder
ReleaseArrayPolicy<C>Poco.ReleaseArrayPolicy<C>
ActiveRunnable<void,type-parameter-0-0,type-parameter-0-1>Poco.ActiveRunnable<void,type-parameter-0-0,type-parameter-0-1>
ActiveRunnable<type-parameter-0-0,void,type-parameter-0-1>Poco.ActiveRunnable<type-parameter-0-0,void,type-parameter-0-1>
ActiveRunnable<void,void,type-parameter-0-0>Poco.ActiveRunnable<void,void,type-parameter-0-0>
ThreadImpl+PolicyPoco.ThreadImpl+Policy
ActiveStarter<OwnerType>Poco.ActiveStarter<OwnerType>
NotificationStrategy<void,type-parameter-0-0>Poco.NotificationStrategy<void,type-parameter-0-0>
DefaultStrategy<void,type-parameter-0-0>Poco.DefaultStrategy<void,type-parameter-0-0>
AbstractDelegate<TArgs>Poco.AbstractDelegate<TArgs>
AbstractDelegate<void>Poco.AbstractDelegate<void>
IsReference<T>Poco.IsReference<T>
IsReference<T>+AnonymousEnumPoco.IsReference<T>+AnonymousEnum
IsReference<type-parameter-0-0&>Poco.IsReference<type-parameter-0-0&>
IsReference<type-parameter-0-0&>+AnonymousEnumPoco.IsReference<type-parameter-0-0&>+AnonymousEnum
IsReference<consttype-parameter-0-0&>Poco.IsReference<consttype-parameter-0-0&>
IsReference<consttype-parameter-0-0&>+AnonymousEnumPoco.IsReference<consttype-parameter-0-0&>+AnonymousEnum
IsConst<T>Poco.IsConst<T>
IsConst<T>+AnonymousEnumPoco.IsConst<T>+AnonymousEnum
IsConst<consttype-parameter-0-0&>Poco.IsConst<consttype-parameter-0-0&>
IsConst<consttype-parameter-0-0&>+AnonymousEnumPoco.IsConst<consttype-parameter-0-0&>+AnonymousEnum
IsConst<consttype-parameter-0-0>Poco.IsConst<consttype-parameter-0-0>
IsConst<consttype-parameter-0-0>+AnonymousEnumPoco.IsConst<consttype-parameter-0-0>+AnonymousEnum
IsConst<type-parameter-0-0const[i]>Poco.IsConst<type-parameter-0-0const[i]>
IsConst<type-parameter-0-0const[i]>+AnonymousEnumPoco.IsConst<type-parameter-0-0const[i]>+AnonymousEnum
TypeWrapper<T>Poco.TypeWrapper<T>
TypeWrapper<consttype-parameter-0-0>Poco.TypeWrapper<consttype-parameter-0-0>
TypeWrapper<consttype-parameter-0-0&>Poco.TypeWrapper<consttype-parameter-0-0&>
TypeWrapper<type-parameter-0-0&>Poco.TypeWrapper<type-parameter-0-0&>
BufferAllocator<ch>Poco.BufferAllocator<ch>
TextEncoding+AnonymousEnumPoco.TextEncoding+AnonymousEnum
CILessPoco.CILess
NDCScopePoco.NDCScope
ChildrenFirstTraversePoco.ChildrenFirstTraverse
DateTime+MonthsPoco.DateTime+Months
DeflatingInputStreamPoco.DeflatingInputStream
InflatingOutputStreamPoco.InflatingOutputStream
InflatingInputStreamPoco.InflatingInputStream
InputLineEndingConverterPoco.InputLineEndingConverter
OutputLineEndingConverterPoco.OutputLineEndingConverter
TeeInputStreamPoco.TeeInputStream
TeeOutputStreamPoco.TeeOutputStream
ScopedReadRWLockPoco.ScopedReadRWLock
ScopedWriteRWLockPoco.ScopedWriteRWLock
SemaphorePoco.Semaphore
DigestInputStreamPoco.DigestInputStream
DigestOutputStreamPoco.DigestOutputStream
Random+TypePoco.Random+Type
MetaObject<C,B>Poco.MetaObject<C,B>
SharedLibraryPoco.SharedLibrary
SharedLibrary+FlagsPoco.SharedLibrary+Flags
NamedMutexPoco.NamedMutex
PipeOutputStreamPoco.PipeOutputStream
PipeInputStreamPoco.PipeInputStream
InputStreamConverterPoco.InputStreamConverter
EventArgsPoco.EventArgs
Hash<T>Poco.Hash<T>
VarHolderImpl<signedchar>Poco.Dynamic.VarHolderImpl<signedchar>
VarHolderImpl<bool>Poco.Dynamic.VarHolderImpl<bool>
VarHolderImpl<char>Poco.Dynamic.VarHolderImpl<char>
VarHolderImpl<Poco::DateTime>Poco.Dynamic.VarHolderImpl<Poco::DateTime>
VarHolderImpl<Poco::LocalDateTime>Poco.Dynamic.VarHolderImpl<Poco::LocalDateTime>
VarHolderImpl<Poco::Timestamp>Poco.Dynamic.VarHolderImpl<Poco::Timestamp>
XML_FeatureXML_Feature
DefaultHandlerPoco.XML.DefaultHandler
Utility+FwdDeclBlockPoco.CppParser.Utility+FwdDeclBlock
BuiltInPoco.CppParser.BuiltIn
SocketAddress+AnonymousEnumPoco.Net.SocketAddress+AnonymousEnum
IPAddress+AnonymousEnumPoco.Net.IPAddress+AnonymousEnum
NetworkInterface+AddressTypePoco.Net.NetworkInterface+AddressType
SocketAddress+AnonymousPoco.Net.SocketAddress+Anonymous
StreamSocket+AnonymousEnumPoco.Net.StreamSocket+AnonymousEnum
FilePartStoreFactoryPoco.Net.FilePartStoreFactory
TCPServerConnectionFactoryImpl<S>Poco.Net.TCPServerConnectionFactoryImpl<S>
HTTPStreamFactory+AnonymousEnumPoco.Net.HTTPStreamFactory+AnonymousEnum
SMTPClientSession+AnonymousEnumPoco.Net.SMTPClientSession+AnonymousEnum
ElementComparatorPoco.MongoDB.ElementComparator
ElementTraits<T>Poco.MongoDB.ElementTraits<T>
ElementTraits<double>Poco.MongoDB.ElementTraits<double>
ElementTraits<std::basic_string<char,std::char_traits<char> ,std::allocator<char>>>Poco.MongoDB.ElementTraits<std::basic_string<char,std::char_traits <char>,std::allocator<char>>>
ElementTraits<std::basic_string<char,std::char_traits<char> ,std::allocator<char>>>+AnonymousEnumPoco.MongoDB.ElementTraits<std::basic_string<char,std::char_traits <char>,std::allocator<char>>>+AnonymousEnum
ElementTraits<bool>Poco.MongoDB.ElementTraits<bool>
ElementTraits<bool>+AnonymousEnumPoco.MongoDB.ElementTraits<bool>+AnonymousEnum
ElementTraits<int>Poco.MongoDB.ElementTraits<int>
ElementTraits<int>+AnonymousEnumPoco.MongoDB.ElementTraits<int>+AnonymousEnum
ElementTraits<Poco::Timestamp>Poco.MongoDB.ElementTraits<Poco::Timestamp>
ElementTraits<Poco::Timestamp>+AnonymousEnumPoco.MongoDB.ElementTraits<Poco::Timestamp>+AnonymousEnum
ElementTraits<Poco::Nullable<unsignedchar>>Poco.MongoDB.ElementTraits<Poco::Nullable<unsignedchar>>
ElementTraits<Poco::Nullable<unsignedchar>>+AnonymousEnumPoco.MongoDB.ElementTraits<Poco::Nullable<unsignedchar>>+AnonymousEnum
ElementTraits<longlong>Poco.MongoDB.ElementTraits<longlong>
ElementTraits<longlong>+AnonymousEnumPoco.MongoDB.ElementTraits<longlong>+AnonymousEnum

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:
warningCritical    Rule warning: Potentially dead Methods
// <Name>Potentially dead Methods</Name>
warnif count > 0
// Filter procedure for methods that should'nt be considered as dead
let canMethodBeConsideredAsDeadProc = new Func<IMethod, bool>(
    
m => !m.IsPublic &&       // Public methods might be used by client applications of your Projects.
         !m.IsEntryPoint &&            // Main() method is not used by-design.
         !m.IsClassConstructor &&      
         
!m.IsVirtual &&               // Only check for non virtual method that are not seen as used in IL.
         !(m.IsConstructor &&          // Don't take account of protected ctor that might be call by a derived ctors.
           m.IsProtected) &&
         
!m.NameLike (@"^On") &&        //Exclude Events like MFC ones
         !m.IsGeneratedByCompiler
)

// Get methods unused
let methodsUnused = 
   
from m in JustMyCode.Methods where 
   
m.NbMethodsCallingMe == 0 && 
   
canMethodBeConsideredAsDeadProc(m)
   
select m

// Dead methods = methods used only by unused methods (recursive)
let deadMethodsMetric = methodsUnused.FillIterative(
   
methods => // Unique loop, just to let a chance to build the hashset.
              from o in new[] { new object() }
              
// Use a hashet to make Intersect calls much faster!
              let hashset = methods.ToHashSet()
              
from m in codeBase.Application.Methods.UsedByAny(methods).Except(methods)
              
where canMethodBeConsideredAsDeadProc(m) &&
                    
// Select methods called only by methods already considered as dead
                    hashset.Intersect(m.MethodsCallingMe).Count() == m.NbMethodsCallingMe
              
select m)

from m in JustMyCode.Methods.Intersect(deadMethodsMetric.DefinitionDomain)
select new { m, m.MethodsCallingMe, depth = deadMethodsMetric[m] }

722 methods matched

methodsMethodsCallingMedepthFull Name
BigitAt(int)0 method0__Globals.BigitAt(int)
Clamp()0 method0__Globals.Clamp()
IsClamped()0 method0__Globals.IsClamped()
Zero()0 method0__Globals.Zero()
Align(constdouble_conversion::Bignum&)0 method0__Globals.Align(constdouble_conversion::Bignum&)
BigitsShiftLeft(int)0 method0__Globals.BigitsShiftLeft(int)
SubtractTimes(constdouble_conversion::Bignum&,int)0 method0__Globals.SubtractTimes(constdouble_conversion::Bignum&,int)
HandleSpecialValues(double,double_conversion::StringBuilder*)0 method0__Globals.HandleSpecialValues(double,double_conversion::StringBuilder* )
CreateExponentialRepresentation(constchar*,int,int ,double_conversion::StringBuilder*)0 method0__Globals.CreateExponentialRepresentation(constchar*,int,int ,double_conversion::StringBuilder*)
CreateDecimalRepresentation(constchar*,int,int,int ,double_conversion::StringBuilder*)0 method0__Globals.CreateDecimalRepresentation(constchar*,int,int,int ,double_conversion::StringBuilder*)
ToShortestIeeeNumber(double,double_conversion::StringBuilder* ,DoubleToStringConverter::DtoaMode)0 method0__Globals.ToShortestIeeeNumber(double ,double_conversion::StringBuilder*,DoubleToStringConverter::DtoaMode)
StringToIeee(constchar*,int,int*,bool)0 method0__Globals.StringToIeee(constchar*,int,int*,bool)
message(conststd::string&)0 method0Poco.Exception.message(conststd::string&)
extendedMessage(conststd::string&)0 method0Poco.Exception.extendedMessage(conststd::string&)
ScopedLock<M>()0 method0Poco.ScopedLock<M>.ScopedLock<M>()
ScopedLock<M>(constScopedLock<M>&)0 method0Poco.ScopedLock<M>.ScopedLock<M>(constScopedLock<M>&)
operator=(constScopedLock<M>&)0 method0Poco.ScopedLock<M>.operator=(constScopedLock<M>&)
ScopedLockWithUnlock<M>()0 method0Poco.ScopedLockWithUnlock<M>.ScopedLockWithUnlock<M>()
ScopedLockWithUnlock<M>(constScopedLockWithUnlock<M>&)0 method0Poco.ScopedLockWithUnlock<M>.ScopedLockWithUnlock<M> (constScopedLockWithUnlock<M>&)
operator=(constScopedLockWithUnlock<M>&)0 method0Poco.ScopedLockWithUnlock<M>.operator=(constScopedLockWithUnlock<M>&)
Mutex(constPoco::Mutex&)0 method0Poco.Mutex.Mutex(constPoco::Mutex&)
operator=(constPoco::Mutex&)0 method0Poco.Mutex.operator=(constPoco::Mutex&)
FastMutex(constPoco::FastMutex&)0 method0Poco.FastMutex.FastMutex(constPoco::FastMutex&)
operator=(constPoco::FastMutex&)0 method0Poco.FastMutex.operator=(constPoco::FastMutex&)
BasicUnbufferedStreamBuf<ch,tr>(constBasicUnbufferedStreamBuf<ch,tr>&)0 method0Poco.BasicUnbufferedStreamBuf<ch,tr>.BasicUnbufferedStreamBuf<ch,tr> (constBasicUnbufferedStreamBuf<ch,tr>&)
operator=(constBasicUnbufferedStreamBuf<ch,tr>&)0 method0Poco.BasicUnbufferedStreamBuf<ch,tr>.operator= (constBasicUnbufferedStreamBuf<ch,tr>&)
readFromDevice()0 method0Poco.Base32DecoderBuf.readFromDevice()
readOne()1 method1Poco.Base32DecoderBuf.readOne()
Base32DecoderBuf(constPoco::Base32DecoderBuf&)0 method0Poco.Base32DecoderBuf.Base32DecoderBuf(constPoco::Base32DecoderBuf&)
operator=(constPoco::Base32DecoderBuf&)0 method0Poco.Base32DecoderBuf.operator=(constPoco::Base32DecoderBuf&)
Base32DecoderIOS(constPoco::Base32DecoderIOS&)0 method0Poco.Base32DecoderIOS.Base32DecoderIOS(constPoco::Base32DecoderIOS&)
operator=(constPoco::Base32DecoderIOS&)0 method0Poco.Base32DecoderIOS.operator=(constPoco::Base32DecoderIOS&)
Base32Decoder(constPoco::Base32Decoder&)0 method0Poco.Base32Decoder.Base32Decoder(constPoco::Base32Decoder&)
operator=(constPoco::Base32Decoder&)0 method0Poco.Base32Decoder.operator=(constPoco::Base32Decoder&)
writeToDevice(char)0 method0Poco.Base32EncoderBuf.writeToDevice(char)
Base32EncoderBuf(constPoco::Base32EncoderBuf&)0 method0Poco.Base32EncoderBuf.Base32EncoderBuf(constPoco::Base32EncoderBuf&)
operator=(constPoco::Base32EncoderBuf&)0 method0Poco.Base32EncoderBuf.operator=(constPoco::Base32EncoderBuf&)
Base32EncoderIOS(constPoco::Base32EncoderIOS&)0 method0Poco.Base32EncoderIOS.Base32EncoderIOS(constPoco::Base32EncoderIOS&)
operator=(constPoco::Base32EncoderIOS&)0 method0Poco.Base32EncoderIOS.operator=(constPoco::Base32EncoderIOS&)
Base32Encoder(constPoco::Base32Encoder&)0 method0Poco.Base32Encoder.Base32Encoder(constPoco::Base32Encoder&)
operator=(constPoco::Base32Encoder&)0 method0Poco.Base32Encoder.operator=(constPoco::Base32Encoder&)
Event(constPoco::Event&)0 method0Poco.Event.Event(constPoco::Event&)
operator=(constPoco::Event&)0 method0Poco.Event.operator=(constPoco::Event&)
RefCountedObject(constPoco::RefCountedObject&)0 method0Poco.RefCountedObject.RefCountedObject(constPoco::RefCountedObject&)
operator=(constPoco::RefCountedObject&)0 method0Poco.RefCountedObject.operator=(constPoco::RefCountedObject&)
~ActiveResultHolder<ResultType>()0 method0Poco.ActiveResultHolder<ResultType>.~ActiveResultHolder<ResultType>()
~ActiveResultHolder()0 method0Poco.ActiveResultHolder<void>.~ActiveResultHolder()
ActiveResult<RT>()0 method0Poco.ActiveResult<RT>.ActiveResult<RT>()
ActiveResult()0 method0Poco.ActiveResult<void>.ActiveResult()
Thread(constPoco::Thread&)0 method0Poco.Thread.Thread(constPoco::Thread&)
operator=(constPoco::Thread&)0 method0Poco.Thread.operator=(constPoco::Thread&)
ThreadPool(constPoco::ThreadPool&)0 method0Poco.ThreadPool.ThreadPool(constPoco::ThreadPool&)
operator=(constPoco::ThreadPool&)0 method0Poco.ThreadPool.operator=(constPoco::ThreadPool&)
ActiveMethod<ResultType,ArgType,OwnerType,StarterType>()0 method0Poco.ActiveMethod<ResultType,ArgType,OwnerType,StarterType,> .ActiveMethod<ResultType,ArgType,OwnerType,StarterType>()
ActiveMethod<type-parameter-0-0,void,type-parameter-0-1 ,type-parameter-0-2>()0 method0Poco.ActiveMethod<type-parameter-0-0,void,type-parameter-0-1 ,type-parameter-0-2>.ActiveMethod<type-parameter-0-0,void ,type-parameter-0-1,type-parameter-0-2>()
AbstractEvent<TArgs,TStrategy,TDelegate,TMutex>(constAbstractEvent <TArgs,TStrategy,TDelegate,TMutex>&)0 method0Poco.AbstractEvent<TArgs,TStrategy,TDelegate,TMutex>.AbstractEvent <TArgs,TStrategy,TDelegate,TMutex>(constAbstractEvent<TArgs,TStrategy ,TDelegate,TMutex>&)
operator=(constAbstractEvent<TArgs,TStrategy,TDelegate,TMutex>&)0 method0Poco.AbstractEvent<TArgs,TStrategy,TDelegate,TMutex>.operator= (constAbstractEvent<TArgs,TStrategy,TDelegate,TMutex>&)
AbstractEvent<void,type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2>(constAbstractEvent<void,type-parameter-0-0 ,type-parameter-0-1,type-parameter-0-2>&)0 method0Poco.AbstractEvent<void,type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2>.AbstractEvent<void,type-parameter-0-0 ,type-parameter-0-1,type-parameter-0-2>(constAbstractEvent<void ,type-parameter-0-0,type-parameter-0-1,type-parameter-0-2>&)
operator=(constAbstractEvent<void,type-parameter-0-0 ,type-parameter-0-1,type-parameter-0-2>&)0 method0Poco.AbstractEvent<void,type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2>.operator=(constAbstractEvent<void ,type-parameter-0-0,type-parameter-0-1,type-parameter-0-2>&)
BasicEvent<TArgs,TMutex>(constBasicEvent<TArgs,TMutex>&)0 method0Poco.BasicEvent<TArgs,TMutex>.BasicEvent<TArgs,TMutex>(constBasicEvent <TArgs,TMutex>&)
operator=(constBasicEvent<TArgs,TMutex>&)0 method0Poco.BasicEvent<TArgs,TMutex>.operator=(constBasicEvent<TArgs,TMutex>& )
stop()0 method0Poco.DirectoryWatcher.stop()
run()0 method0Poco.DirectoryWatcher.run()
DirectoryWatcher()0 method0Poco.DirectoryWatcher.DirectoryWatcher()
DirectoryWatcher(constPoco::DirectoryWatcher&)0 method0Poco.DirectoryWatcher.DirectoryWatcher(constPoco::DirectoryWatcher&)
operator=(constPoco::DirectoryWatcher&)0 method0Poco.DirectoryWatcher.operator=(constPoco::DirectoryWatcher&)
Glob()0 method0Poco.Glob.Glob()
Glob(constPoco::Glob&)0 method0Poco.Glob.Glob(constPoco::Glob&)
operator=(constPoco::Glob&)0 method0Poco.Glob.operator=(constPoco::Glob&)
Buffer<T>()0 method0Poco.Buffer<T>.Buffer<T>()
DirectoryWatcherStrategy()0 method0Poco.DirectoryWatcherStrategy.DirectoryWatcherStrategy()
DirectoryWatcherStrategy(constPoco::DirectoryWatcherStrategy&)0 method0Poco.DirectoryWatcherStrategy.DirectoryWatcherStrategy (constPoco::DirectoryWatcherStrategy&)
operator=(constPoco::DirectoryWatcherStrategy&)0 method0Poco.DirectoryWatcherStrategy.operator= (constPoco::DirectoryWatcherStrategy&)
operator=(constHolder<ValueType>&)0 method0Poco.Any+Holder.operator=(constHolder<ValueType>&)
BasicFIFOBuffer<T>()0 method0Poco.BasicFIFOBuffer<T>.BasicFIFOBuffer<T>()
BasicFIFOBuffer<T>(constBasicFIFOBuffer<T>&)0 method0Poco.BasicFIFOBuffer<T>.BasicFIFOBuffer<T>(constBasicFIFOBuffer<T>&)
operator=(constBasicFIFOBuffer<T>&)0 method0Poco.BasicFIFOBuffer<T>.operator=(constBasicFIFOBuffer<T>&)
BasicBufferedBidirectionalStreamBuf<ch,tr,ba> (constBasicBufferedBidirectionalStreamBuf<ch,tr,ba>&)0 method0Poco.BasicBufferedBidirectionalStreamBuf<ch,tr,ba,> .BasicBufferedBidirectionalStreamBuf<ch,tr,ba> (constBasicBufferedBidirectionalStreamBuf<ch,tr,ba>&)
operator=(constBasicBufferedBidirectionalStreamBuf<ch,tr,ba>&)0 method0Poco.BasicBufferedBidirectionalStreamBuf<ch,tr,ba,>.operator= (constBasicBufferedBidirectionalStreamBuf<ch,tr,ba>&)
readFromDevice(char*,std::streamsize)0 method0Poco.FIFOBufferStreamBuf.readFromDevice(char*,std::streamsize)
writeToDevice(constchar*,std::streamsize)0 method0Poco.FIFOBufferStreamBuf.writeToDevice(constchar*,std::streamsize)
FIFOBufferStream()0 method0Poco.FIFOBufferStream.FIFOBufferStream()
FIFOBufferStream(constPoco::FIFOBufferStream&)0 method0Poco.FIFOBufferStream.FIFOBufferStream(constPoco::FIFOBufferStream&)
operator=(constPoco::FIFOBufferStream&)0 method0Poco.FIFOBufferStream.operator=(constPoco::FIFOBufferStream&)
MemoryPool()0 method0Poco.MemoryPool.MemoryPool()
MemoryPool(constPoco::MemoryPool&)0 method0Poco.MemoryPool.MemoryPool(constPoco::MemoryPool&)
operator=(constPoco::MemoryPool&)0 method0Poco.MemoryPool.operator=(constPoco::MemoryPool&)
TLSSlot<C>(constTLSSlot<C>&)0 method0Poco.TLSSlot<C>.TLSSlot<C>(constTLSSlot<C>&)
operator=(constTLSSlot<C>&)0 method0Poco.TLSSlot<C>.operator=(constTLSSlot<C>&)
ThreadLocal<C>(constThreadLocal<C>&)0 method0Poco.ThreadLocal<C>.ThreadLocal<C>(constThreadLocal<C>&)
operator=(constThreadLocal<C>&)0 method0Poco.ThreadLocal<C>.operator=(constThreadLocal<C>&)
BasicMemoryStreamBuf<ch,tr>()0 method0Poco.BasicMemoryStreamBuf<ch,tr>.BasicMemoryStreamBuf<ch,tr>()
BasicMemoryStreamBuf<ch,tr>(constBasicMemoryStreamBuf<ch,tr>&)0 method0Poco.BasicMemoryStreamBuf<ch,tr>.BasicMemoryStreamBuf<ch,tr> (constBasicMemoryStreamBuf<ch,tr>&)
operator=(constBasicMemoryStreamBuf<ch,tr>&)0 method0Poco.BasicMemoryStreamBuf<ch,tr>.operator=(constBasicMemoryStreamBuf <ch,tr>&)
TraverseBase()0 method0Poco.TraverseBase.TraverseBase()
TraverseBase(constPoco::TraverseBase&)0 method0Poco.TraverseBase.TraverseBase(constPoco::TraverseBase&)
operator=(constPoco::TraverseBase&)0 method0Poco.TraverseBase.operator=(constPoco::TraverseBase&)
ChildrenFirstTraverse()0 method0Poco.ChildrenFirstTraverse.ChildrenFirstTraverse()
ChildrenFirstTraverse(constPoco::ChildrenFirstTraverse&)0 method0Poco.ChildrenFirstTraverse.ChildrenFirstTraverse (constPoco::ChildrenFirstTraverse&)
operator=(constPoco::ChildrenFirstTraverse&)0 method0Poco.ChildrenFirstTraverse.operator=(constPoco::ChildrenFirstTraverse& )

Statistics

Stat   MethodsCallingMe   depth
Sum:027
Average:00.037
Minimum:00
Maximum:02
Standard deviation:00.2
Variance:00.042
warningCritical    Rule warning: Potentially dead Fields
// <Name>Potentially dead Fields</Name>
warnif count > 0
from f in JustMyCode.Fields where
   
f.NbMethodsUsingMe == 0 && 
   
!f.IsPublic &&     // Although not recommended, public fields might be used by client applications of your Projects.
   !f.IsEnumValue   
  
   
// If you don't want to link CppDepend.API.dll, you can use your own IsNotDeadCodeAttribute and adapt this rule.
select f

118 fields matched

fieldsFull Name
_pExcPoco.ActiveResultHolder<void>._pExc
_eventPoco.ActiveResultHolder<void>._event
_pHolderPoco.ActiveResult<void>._pHolder
_pOwnerPoco.ActiveRunnable<void,type-parameter-0-0,type-parameter-0-1> ._pOwner
_methodPoco.ActiveRunnable<void,type-parameter-0-0,type-parameter-0-1> ._method
_argPoco.ActiveRunnable<void,type-parameter-0-0,type-parameter-0-1>._arg
_resultPoco.ActiveRunnable<void,type-parameter-0-0,type-parameter-0-1> ._result
_pOwnerPoco.ActiveRunnable<type-parameter-0-0,void,type-parameter-0-1> ._pOwner
_methodPoco.ActiveRunnable<type-parameter-0-0,void,type-parameter-0-1> ._method
_resultPoco.ActiveRunnable<type-parameter-0-0,void,type-parameter-0-1> ._result
_pOwnerPoco.ActiveRunnable<void,void,type-parameter-0-0>._pOwner
_methodPoco.ActiveRunnable<void,void,type-parameter-0-0>._method
_resultPoco.ActiveRunnable<void,void,type-parameter-0-0>._result
_pOwnerPoco.ActiveMethod<type-parameter-0-0,void,type-parameter-0-1 ,type-parameter-0-2>._pOwner
_methodPoco.ActiveMethod<type-parameter-0-0,void,type-parameter-0-1 ,type-parameter-0-2>._method
_executeAsyncPoco.AbstractEvent<void,type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2>._executeAsync
_strategyPoco.AbstractEvent<void,type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2>._strategy
_enabledPoco.AbstractEvent<void,type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2>._enabled
_mutexPoco.AbstractEvent<void,type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2>._mutex
_delegatesPoco.DefaultStrategy<void,type-parameter-0-0>._delegates
_valPoco.Dynamic.VarHolderImpl<signedchar>._val
_valPoco.Dynamic.VarHolderImpl<short>._val
_valPoco.Dynamic.VarHolderImpl<int>._val
_valPoco.Dynamic.VarHolderImpl<longlong>._val
_valPoco.Dynamic.VarHolderImpl<unsignedchar>._val
_valPoco.Dynamic.VarHolderImpl<unsignedshort>._val
_valPoco.Dynamic.VarHolderImpl<unsignedint>._val
_valPoco.Dynamic.VarHolderImpl<unsignedlonglong>._val
_valPoco.Dynamic.VarHolderImpl<bool>._val
_valPoco.Dynamic.VarHolderImpl<float>._val
_valPoco.Dynamic.VarHolderImpl<double>._val
_valPoco.Dynamic.VarHolderImpl<char>._val
_valPoco.Dynamic.VarHolderImpl<std::basic_string<char,std::char_traits <char>,std::allocator<char>>>._val
_valPoco.Dynamic.VarHolderImpl<std::basic_string<wchar_t,std::char_traits <wchar_t>,std::allocator<wchar_t>>>._val
_valPoco.Dynamic.VarHolderImpl<long>._val
_valPoco.Dynamic.VarHolderImpl<unsignedlong>._val
_valPoco.Dynamic.VarHolderImpl<vector<type-parameter-0-0,allocator <type-parameter-0-0>>>._val
_valPoco.Dynamic.VarHolderImpl<list<type-parameter-0-0,allocator <type-parameter-0-0>>>._val
_valPoco.Dynamic.VarHolderImpl<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>._val
_valPoco.Dynamic.VarHolderImpl<Poco::DateTime>._val
_valPoco.Dynamic.VarHolderImpl<Poco::LocalDateTime>._val
_valPoco.Dynamic.VarHolderImpl<Poco::Timestamp>._val
_valPoco.Dynamic.VarHolderImpl<Poco::Dynamic::Struct<std::basic_string <char,std::char_traits<char>,std::allocator<char>>>>._val
_valPoco.Dynamic.VarHolderImpl<Poco::Dynamic::Struct<int>>._val
NODE_NAMEPoco.XML.Entity.NODE_NAME
szPoco.Net.SocketAddress.sz
alignerPoco.Net.SocketAddress+Anonymous.aligner
szPoco.Net.IPAddress.sz
alignerPoco.Net.IPAddress+Anonymous.aligner
alignerPoco.Net.SocketAddress+Anonymous.aligner
_flagsPoco.MongoDB.GetMoreRequest._flags
_valPoco.Dynamic.VarHolderImpl<Poco::SharedPtr<Poco::JSON::Array ,Poco::ReferenceCounter,Poco::ReleasePolicy<Poco::JSON::Array>>>._val
_valPoco.Dynamic.VarHolderImpl<Poco::JSON::Array>._val
_valPoco.Dynamic.VarHolderImpl<Poco::SharedPtr<Poco::JSON::Object ,Poco::ReferenceCounter,Poco::ReleasePolicy<Poco::JSON::Object>>>._val
_valPoco.Dynamic.VarHolderImpl<Poco::JSON::Object>._val
_valPoco.Dynamic.VarHolderImpl<Poco::Data::Date>._val
_valPoco.Dynamic.VarHolderImpl<Poco::Data::Time>._val
_valPoco.Dynamic.VarHolderImpl<Poco::Data::LOB<unsignedchar>>._val
_valPoco.Dynamic.VarHolderImpl<Poco::Data::LOB<char>>._val
_metaColumnPoco.Data.Column<std::vector<bool,std::allocator<bool>>>._metaColumn
_pDataPoco.Data.Column<std::vector<bool,std::allocator<bool>>>._pData
_metaColumnPoco.Data.Column<list<type-parameter-0-0,allocator<type-parameter-0-0> >>._metaColumn
_pDataPoco.Data.Column<list<type-parameter-0-0,allocator<type-parameter-0-0> >>._pData
_posPoco.Data.Preparation<vector<type-parameter-0-0,allocator <type-parameter-0-0>>>._pos
_valPoco.Data.Preparation<vector<type-parameter-0-0,allocator <type-parameter-0-0>>>._val
_posPoco.Data.Preparation<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>._pos
_valPoco.Data.Preparation<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>._val
_posPoco.Data.Preparation<list<type-parameter-0-0,allocator <type-parameter-0-0>>>._pos
_valPoco.Data.Preparation<list<type-parameter-0-0,allocator <type-parameter-0-0>>>._val
_rResultPoco.Data.Extraction<vector<type-parameter-0-0,allocator <type-parameter-0-0>>>._rResult
_defaultPoco.Data.Extraction<vector<type-parameter-0-0,allocator <type-parameter-0-0>>>._default
_rResultPoco.Data.Extraction<std::vector<bool,std::allocator<bool>>>._rResult
_defaultPoco.Data.Extraction<std::vector<bool,std::allocator<bool>>>._default
_rResultPoco.Data.Extraction<list<type-parameter-0-0,allocator <type-parameter-0-0>>>._rResult
_defaultPoco.Data.Extraction<list<type-parameter-0-0,allocator <type-parameter-0-0>>>._default
_rResultPoco.Data.Extraction<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>._rResult
_defaultPoco.Data.Extraction<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>._default
_rResultPoco.Data.Extraction<set<type-parameter-0-0,less<type-parameter-0-0> ,allocator<type-parameter-0-0>>>._rResult
_defaultPoco.Data.Extraction<set<type-parameter-0-0,less<type-parameter-0-0> ,allocator<type-parameter-0-0>>>._default
_rResultPoco.Data.Extraction<multiset<type-parameter-0-0,less <type-parameter-0-0>,allocator<type-parameter-0-0>>>._rResult
_defaultPoco.Data.Extraction<multiset<type-parameter-0-0,less <type-parameter-0-0>,allocator<type-parameter-0-0>>>._default
_rResultPoco.Data.Extraction<map<type-parameter-0-0,type-parameter-0-1,less <type-parameter-0-0>,allocator<pair<consttype-parameter-0-0 ,type-parameter-0-1>>>>._rResult
_defaultPoco.Data.Extraction<map<type-parameter-0-0,type-parameter-0-1,less <type-parameter-0-0>,allocator<pair<consttype-parameter-0-0 ,type-parameter-0-1>>>>._default
_rResultPoco.Data.Extraction<multimap<type-parameter-0-0,type-parameter-0-1 ,less<type-parameter-0-0>,allocator<pair<consttype-parameter-0-0 ,type-parameter-0-1>>>>._rResult
_defaultPoco.Data.Extraction<multimap<type-parameter-0-0,type-parameter-0-1 ,less<type-parameter-0-0>,allocator<pair<consttype-parameter-0-0 ,type-parameter-0-1>>>>._default
_valPoco.Data.Binding<constchar*>._val
_boundPoco.Data.Binding<constchar*>._bound
_boundPoco.Data.CopyBinding<constchar*>._bound
_valPoco.Data.Binding<vector<type-parameter-0-0,allocator <type-parameter-0-0>>>._val
_pValPoco.Data.CopyBinding<vector<type-parameter-0-0,allocator <type-parameter-0-0>>>._pVal
_valPoco.Data.Binding<std::vector<bool,std::allocator<bool>>>._val
_valPoco.Data.Binding<list<type-parameter-0-0,allocator<type-parameter-0-0 >>>._val
_pValPoco.Data.CopyBinding<list<type-parameter-0-0,allocator <type-parameter-0-0>>>._pVal
_valPoco.Data.Binding<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>._val
_pValPoco.Data.CopyBinding<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>._pVal
_valPoco.Data.Binding<set<type-parameter-0-0,less<type-parameter-0-0> ,allocator<type-parameter-0-0>>>._val
_pValPoco.Data.CopyBinding<set<type-parameter-0-0,less<type-parameter-0-0> ,allocator<type-parameter-0-0>>>._pVal
_valPoco.Data.Binding<multiset<type-parameter-0-0,less<type-parameter-0-0> ,allocator<type-parameter-0-0>>>._val
_pValPoco.Data.CopyBinding<multiset<type-parameter-0-0,less <type-parameter-0-0>,allocator<type-parameter-0-0>>>._pVal
_valPoco.Data.Binding<map<type-parameter-0-0,type-parameter-0-1,less <type-parameter-0-0>,allocator<pair<consttype-parameter-0-0 ,type-parameter-0-1>>>>._val

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:

020
Visibility  

warningCritical    Rule warning: Fields should be declared as private
// <Name>Fields should be declared as private</Name>
warnif count > 0 from f in Application.Fields where 
 
!f.IsPrivate && 

 
// These conditions filter cases where fields 
 // doesn't represent state that should be encapsulated. 
 !f.IsGeneratedByCompiler && 
 
!f.IsEnumValue
select new { f }

1,109 fields matched

fieldsFull Name
kDecimalExponentDistance__Globals.kDecimalExponentDistance
kMinDecimalExponent__Globals.kMinDecimalExponent
kMaxDecimalExponent__Globals.kMaxDecimalExponent
crc_table__Globals.crc_table
deflate_copyright__Globals.deflate_copyright
configuration_table__Globals.configuration_table
inflate_copyright__Globals.inflate_copyright
extra_lbits__Globals.extra_lbits
extra_dbits__Globals.extra_dbits
extra_blbits__Globals.extra_blbits
bl_order__Globals.bl_order
static_ltree__Globals.static_ltree
static_dtree__Globals.static_dtree
_dist_code__Globals._dist_code
_length_code__Globals._length_code
base_length__Globals.base_length
base_dist__Globals.base_dist
static_l_desc__Globals.static_l_desc
static_d_desc__Globals.static_d_desc
static_bl_desc__Globals.static_bl_desc
z_errmsg__Globals.z_errmsg
_pcre_default_tables__Globals._pcre_default_tables
escapes__Globals.escapes
verbnames__Globals.verbnames
verbs__Globals.verbs
verbcount__Globals.verbcount
posix_names__Globals.posix_names
posix_name_lengths__Globals.posix_name_lengths
posix_class_maps__Globals.posix_class_maps
error_texts__Globals.error_texts
digitab__Globals.digitab
rep_min__Globals.rep_min
rep_max__Globals.rep_max
pcre_malloc__Globals.pcre_malloc
pcre_free__Globals.pcre_free
pcre_stack_malloc__Globals.pcre_stack_malloc
pcre_stack_free__Globals.pcre_stack_free
pcre_callout__Globals.pcre_callout
_pcre_OP_lengths__Globals._pcre_OP_lengths
_pcre_utf8_table1__Globals._pcre_utf8_table1
_pcre_utf8_table1_size__Globals._pcre_utf8_table1_size
_pcre_utf8_table2__Globals._pcre_utf8_table2
_pcre_utf8_table3__Globals._pcre_utf8_table3
_pcre_utf8_table4__Globals._pcre_utf8_table4
_pcre_ucp_gentype__Globals._pcre_ucp_gentype
_pcre_utt_names__Globals._pcre_utt_names
_pcre_utt__Globals._pcre_utt
_pcre_utt_size__Globals._pcre_utt_size
_pcre_ucd_records__Globals._pcre_ucd_records
_pcre_ucd_stage1__Globals._pcre_ucd_stage1
_pcre_ucd_stage2__Globals._pcre_ucd_stage2
next_inz_stream_s.next_in
avail_inz_stream_s.avail_in
total_inz_stream_s.total_in
next_outz_stream_s.next_out
avail_outz_stream_s.avail_out
total_outz_stream_s.total_out
msgz_stream_s.msg
statez_stream_s.state
zallocz_stream_s.zalloc
zfreez_stream_s.zfree
opaquez_stream_s.opaque
data_typez_stream_s.data_type
adlerz_stream_s.adler
reservedz_stream_s.reserved
textgz_header_s.text
timegz_header_s.time
xflagsgz_header_s.xflags
osgz_header_s.os
extragz_header_s.extra
extra_lengz_header_s.extra_len
extra_maxgz_header_s.extra_max
namegz_header_s.name
name_maxgz_header_s.name_max
commentgz_header_s.comment
comm_maxgz_header_s.comm_max
hcrcgz_header_s.hcrc
donegz_header_s.done
havegzFile_s.have
nextgzFile_s.next
posgzFile_s.pos
dummyinternal_state.dummy
fcct_data_s.fc
dlct_data_s.dl
freqct_data_s+Anonymous.freq
codect_data_s+Anonymous.code
dadct_data_s+Anonymous.dad
lenct_data_s+Anonymous.len
dyn_treetree_desc_s.dyn_tree
max_codetree_desc_s.max_code
stat_desctree_desc_s.stat_desc
strminternal_state.strm
statusinternal_state.status
pending_bufinternal_state.pending_buf
pending_buf_sizeinternal_state.pending_buf_size
pending_outinternal_state.pending_out
pendinginternal_state.pending
wrapinternal_state.wrap
gzheadinternal_state.gzhead
gzindexinternal_state.gzindex

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:
warningCritical    Rule warning: Constructors of abstract classes should be declared as protected or private
// <Name>Constructors of abstract classes should be declared as protected or private</Name>
// Constructors of an abstract class can only be accessed from this class and derived class.
// Declaring such a constructor with another visibility level is useless and potentially misleading.

warnif count > 0
from t in Application.Types where 
  
t.IsClass && 
  
t.IsAbstract
let ctors = t.Constructors.Where(c => !c.IsProtected && !c.IsPrivate)
where ctors.Count() > 0
select new { t, ctors }

// Notice that if a constructor of an abstract class is declared as private,
// it can only be accessed from derived classes nested in the abstract class.

66 types matched

typesctorsFull Name
Runnable2 methodsPoco.Runnable
NotificationStrategy<TArgs,TDelegate>1 methodPoco.NotificationStrategy<TArgs,TDelegate>
NotificationStrategy<void,type-parameter-0-0>1 methodPoco.NotificationStrategy<void,type-parameter-0-0>
AbstractDelegate<TArgs>2 methodsPoco.AbstractDelegate<TArgs>
AbstractDelegate<void>2 methodsPoco.AbstractDelegate<void>
DirectoryWatcherStrategy1 methodPoco.DirectoryWatcherStrategy
TextEncoding2 methodsPoco.TextEncoding
AbstractTimerCallback2 methodsPoco.AbstractTimerCallback
DigestEngine1 methodPoco.DigestEngine
AbstractMetaObject<B>1 methodPoco.AbstractMetaObject<B>
ManifestBase2 methodsPoco.ManifestBase
ArchiveStrategy1 methodPoco.ArchiveStrategy
Configurable2 methodsPoco.Configurable
Channel1 methodPoco.Channel
Formatter2 methodsPoco.Formatter
RotateStrategy1 methodPoco.RotateStrategy
PurgeStrategy1 methodPoco.PurgeStrategy
AbstractInstantiator<Base>1 methodPoco.AbstractInstantiator<Base>
AbstractObserver2 methodsPoco.AbstractObserver
URIStreamFactory1 methodPoco.URIStreamFactory
Task1 methodPoco.Task
VarHolder1 methodPoco.Dynamic.VarHolder
Attributes1 methodPoco.XML.Attributes
NamespaceStrategy2 methodsPoco.XML.NamespaceStrategy
ContentHandler1 methodPoco.XML.ContentHandler
Locator2 methodsPoco.XML.Locator
EntityResolver1 methodPoco.XML.EntityResolver
DTDHandler1 methodPoco.XML.DTDHandler
LexicalHandler1 methodPoco.XML.LexicalHandler
ErrorHandler1 methodPoco.XML.ErrorHandler
XMLReader2 methodsPoco.XML.XMLReader
XMLFilter2 methodsPoco.XML.XMLFilter
DOMObject1 methodPoco.XML.DOMObject
EventTarget1 methodPoco.XML.EventTarget
Node2 methodsPoco.XML.Node
AbstractNode1 methodPoco.XML.AbstractNode
DocumentEvent1 methodPoco.XML.DocumentEvent
NodeList2 methodsPoco.XML.NodeList
NamedNodeMap2 methodsPoco.XML.NamedNodeMap
Symbol2 methodsPoco.CppParser.Symbol
HTTPRequestHandler1 methodPoco.Net.HTTPRequestHandler
AbstractHTTPRequestHandler2 methodsPoco.Net.AbstractHTTPRequestHandler
HTTPServerRequest2 methodsPoco.Net.HTTPServerRequest
HTTPServerResponse2 methodsPoco.Net.HTTPServerResponse
HTTPRequestHandlerFactory1 methodPoco.Net.HTTPRequestHandlerFactory
FTPPasswordProvider1 methodPoco.Net.FTPPasswordProvider
ICMPPacketImpl2 methodsPoco.Net.ICMPPacketImpl
Element2 methodsPoco.MongoDB.Element
RequestMessage2 methodsPoco.MongoDB.RequestMessage
Handler2 methodsPoco.JSON.Handler
Part2 methodsPoco.JSON.Part
AbstractBinder2 methodsPoco.Data.AbstractBinder
AbstractBinding2 methodsPoco.Data.AbstractBinding
AbstractExtractor2 methodsPoco.Data.AbstractExtractor
AbstractPreparator2 methodsPoco.Data.AbstractPreparator
AbstractPreparation1 methodPoco.Data.AbstractPreparation
AbstractExtraction2 methodsPoco.Data.AbstractExtraction
SessionImpl1 methodPoco.Data.SessionImpl
Connector2 methodsPoco.Data.Connector
StatementImpl1 methodPoco.Data.StatementImpl
ArchiveStrategy1 methodPoco.Data.ArchiveStrategy
CryptoTransform2 methodsPoco.Crypto.CryptoTransform
InvalidCertificateHandler2 methodsPoco.Net.InvalidCertificateHandler
CertificateHandlerFactory2 methodsPoco.Net.CertificateHandlerFactory
PrivateKeyFactory2 methodsPoco.Net.PrivateKeyFactory
PrivateKeyPassphraseHandler2 methodsPoco.Net.PrivateKeyPassphraseHandler

Statistics

Stat   ctors
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0

120
Purity - Immutability - Side-Effects  

warningCritical    Rule warning: Structures should be immutable
// <Name>Structures should be immutable</Name>
warnif count > 0 from t in Application.Types where 
   
t.IsStructure && 
  
!t.IsImmutable

let mutableFields = t.Fields.Where(f => !f.IsImmutable)

select new { t, t.NbLinesOfCode, mutableFields }

// It is deemed as a good practice to make 
// your structure immutable.
// An object is immutable if its state doesn’t 
// change once the object has been created. 
// Consequently, a structure is immutable if 
// its instances are immutable.
// Immutable types naturally simplify code by 
// limiting side-effects.
// See some explanations on immutability and 
// how NDepend supports it here:
// http://codebetter.com/blogs/patricksmacchia/archive/2008/01/13/immutable-types-understand-them-and-use-them.aspx

86 types matched

types# lines of code (LOC)mutableFieldsFull Name
z_stream_s014 fieldsz_stream_s
gz_header_s013 fieldsgz_header_s
gzFile_s03 fieldsgzFile_s
internal_state01 fieldinternal_state
ct_data_s02 fieldsct_data_s
tree_desc_s03 fieldstree_desc_s
internal_state059 fieldsinternal_state
config_s05 fieldsconfig_s
static_tree_desc_s01 fieldstatic_tree_desc_s
code03 fieldscode
inflate_state034 fieldsinflate_state
static_tree_desc_s05 fieldsstatic_tree_desc_s
internal_state01 fieldinternal_state
pcre_extra06 fieldspcre_extra
pcre_callout_block012 fieldspcre_callout_block
verbitem02 fieldsverbitem
real_pcre015 fieldsreal_pcre
pcre_study_data03 fieldspcre_study_data
compile_data023 fieldscompile_data
branch_chain02 fieldsbranch_chain
recursion_info06 fieldsrecursion_info
eptrblock02 fieldseptrblock
match_data033 fieldsmatch_data
dfa_match_data010 fieldsdfa_match_data
ucp_type_table03 fieldsucp_type_table
ucd_record03 fieldsucd_record
ThreadImpl+CallbackData22 fieldsPoco.ThreadImpl+CallbackData
AbstractEvent<TArgs,TStrategy,TDelegate,TMutex>+NotifyAsyncParams44 fieldsPoco.AbstractEvent<TArgs,TStrategy,TDelegate,TMutex>+NotifyAsyncParams
AbstractEvent<void,type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2>+NotifyAsyncParams33 fieldsPoco.AbstractEvent<void,type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2>+NotifyAsyncParams
DirectoryWatcher+DirectoryEvent22 fieldsPoco.DirectoryWatcher+DirectoryEvent
DirectoryWatcherStrategy+ItemInfo73 fieldsPoco.DirectoryWatcherStrategy+ItemInfo
i_char_traits<charT>140 fieldPoco.i_char_traits<charT>
NestedDiagnosticContext+Context03 fieldsPoco.NestedDiagnosticContext+Context
StreamTokenizer+TokenInfo02 fieldsPoco.StreamTokenizer+TokenInfo
NotificationQueue+WaitInfo02 fieldsPoco.NotificationQueue+WaitInfo
MD4Engine+Context03 fieldsPoco.MD4Engine+Context
MD5Engine+Context03 fieldsPoco.MD5Engine+Context
SHA1Engine+Context05 fieldsPoco.SHA1Engine+Context
RegularExpression+Match02 fieldsPoco.RegularExpression+Match
PatternFormatter+PatternAction24 fieldsPoco.PatternFormatter+PatternAction
PriorityNotificationQueue+WaitInfo02 fieldsPoco.PriorityNotificationQueue+WaitInfo
Unicode+CharacterProperties03 fieldsPoco.Unicode+CharacterProperties
CachedPower03 fieldsdouble_conversion.CachedPower
XML_cp05 fieldsXML_cp
XML_Memory_Handling_Suite03 fieldsXML_Memory_Handling_Suite
XML_Encoding04 fieldsXML_Encoding
XML_ParsingStatus02 fieldsXML_ParsingStatus
XML_Expat_Version03 fieldsXML_Expat_Version
XML_Feature03 fieldsXML_Feature
position02 fieldsposition
ATTRIBUTE04 fieldsATTRIBUTE
encoding016 fieldsencoding
INIT_ENCODING02 fieldsINIT_ENCODING
prolog_state06 fieldsprolog_state
NAMED01 fieldNAMED
HASH_TABLE05 fieldsHASH_TABLE
HASH_TABLE_ITER02 fieldsHASH_TABLE_ITER
binding07 fieldsbinding
prefix02 fieldsprefix
TAG_NAME06 fieldsTAG_NAME
tag07 fieldstag
ENTITY011 fieldsENTITY
CONTENT_SCAFFOLD07 fieldsCONTENT_SCAFFOLD
block03 fieldsblock
STRING_POOL06 fieldsSTRING_POOL
attribute_id04 fieldsattribute_id
DEFAULT_ATTRIBUTE03 fieldsDEFAULT_ATTRIBUTE
NS_ATT03 fieldsNS_ATT
ELEMENT_TYPE06 fieldsELEMENT_TYPE
DTD019 fieldsDTD
open_internal_entity06 fieldsopen_internal_entity
XML_ParserStruct090 fieldsXML_ParserStruct
normal_encoding011 fieldsnormal_encoding
unknown_encoding05 fieldsunknown_encoding
AttributesImpl+Attribute06 fieldsPoco.XML.AttributesImpl+Attribute
XMLWriter+Namespace22 fieldsPoco.XML.XMLWriter+Namespace
EventDispatcher+EventListenerItem03 fieldsPoco.XML.EventDispatcher+EventListenerItem
Struct+Base04 fieldsPoco.CppParser.Struct+Base
HTMLForm+Part02 fieldsPoco.Net.HTMLForm+Part
HTTPSessionFactory+InstantiatorInfo32 fieldsPoco.Net.HTTPSessionFactory+InstantiatorInfo
MailMessage+Part04 fieldsPoco.Net.MailMessage+Part
POP3ClientSession+MessageInfo02 fieldsPoco.Net.POP3ClientSession+MessageInfo
ICMPv4PacketImpl+Header05 fieldsPoco.Net.ICMPv4PacketImpl+Header
_NTPPacketData013 fieldsPoco.Net._NTPPacketData
SessionFactory+SessionInfo22 fieldsPoco.Data.SessionFactory+SessionInfo
CRYPTO_dynlock_value01 fieldCRYPTO_dynlock_value

Statistics

Stat   # lines of code (LOC)   mutableFields
Sum:410
Average:0.480
Minimum:00
Maximum:140
Standard deviation:1.80
Variance:3.250
warningCritical    Rule warning: Avoid static fields with a mutable field type
// <Name>Avoid static fields with a mutable field type</Name>
warnif count > 0
from f in Application.Fields
where f.IsStatic && !f.IsEnumValue && !f.IsGeneratedByCompiler
let fieldType = f.FieldType
where fieldType != null && 
     
!fieldType.IsThirdParty && 
     
!fieldType.IsInterface && 
     
!fieldType.IsImmutable
select new { f, 
             
mutableFieldType = fieldType , 
             
isFieldImmutable = f.IsImmutable }

// As explained in this blog post
// http://codebetter.com/patricksmacchia/2011/05/04/back-to-basics-usage-of-static-members
// static fields should be used to hold only constant and immutable states.

47 fields matched

fieldsmutableFieldTypeisFieldImmutableFull Name
configuration_tableconfig_sFalse__Globals.configuration_table
static_ltreect_data_sFalse__Globals.static_ltree
static_dtreect_data_sFalse__Globals.static_dtree
static_l_descstatic_tree_desc_sFalse__Globals.static_l_desc
static_d_descstatic_tree_desc_sFalse__Globals.static_d_desc
static_bl_descstatic_tree_desc_sFalse__Globals.static_bl_desc
verbsverbitemFalse__Globals.verbs
shSingletonHolder<S>FalsePoco.anonymous_namespace{threadlocal.cpp}.__Globals.sh
shThreadPoolSingletonHolderFalsePoco.anonymous_namespace{threadpool.cpp}.__Globals.sh
shSingletonHolder<S>FalsePoco.anonymous_namespace{loggingfactory.cpp}.__Globals.sh
shSingletonHolder<S>FalsePoco.anonymous_namespace{loggingregistry.cpp}.__Globals.sh
shSingletonHolder<S>FalsePoco.anonymous_namespace{notificationcenter.cpp}.__Globals.sh
shSingletonHolder<S>FalsePoco.anonymous_namespace{notificationqueue.cpp}.__Globals.sh
shSingletonHolder<S>FalsePoco.anonymous_namespace{prioritynotificationqueue.cpp}.__Globals.sh
uuidNullUUIDFalsePoco.anonymous_namespace{uuid.cpp}.__Globals.uuidNull
uuidDNSUUIDFalsePoco.anonymous_namespace{uuid.cpp}.__Globals.uuidDNS
uuidURIUUIDFalsePoco.anonymous_namespace{uuid.cpp}.__Globals.uuidURI
uuidOIDUUIDFalsePoco.anonymous_namespace{uuid.cpp}.__Globals.uuidOID
uuidX500UUIDFalsePoco.anonymous_namespace{uuid.cpp}.__Globals.uuidX500
shSingletonHolder<S>FalsePoco.anonymous_namespace{uuidgenerator.cpp}.__Globals.sh
shSingletonHolder<S>FalsePoco.anonymous_namespace{textencoding.cpp}.__Globals.sh
shSingletonHolder<S>FalsePoco.anonymous_namespace{uristreamopener.cpp}.__Globals.sh
kCachedPowersCachedPowerFalsedouble_conversion.__Globals.kCachedPowers
utf8_encoding_nsnormal_encodingFalse__Globals.utf8_encoding_ns
utf8_encodingnormal_encodingFalse__Globals.utf8_encoding
internal_utf8_encoding_nsnormal_encodingFalse__Globals.internal_utf8_encoding_ns
internal_utf8_encodingnormal_encodingFalse__Globals.internal_utf8_encoding
latin1_encoding_nsnormal_encodingFalse__Globals.latin1_encoding_ns
latin1_encodingnormal_encodingFalse__Globals.latin1_encoding
ascii_encoding_nsnormal_encodingFalse__Globals.ascii_encoding_ns
ascii_encodingnormal_encodingFalse__Globals.ascii_encoding
little2_encoding_nsnormal_encodingFalse__Globals.little2_encoding_ns
little2_encodingnormal_encodingFalse__Globals.little2_encoding
internal_little2_encoding_nsnormal_encodingFalse__Globals.internal_little2_encoding_ns
internal_little2_encodingnormal_encodingFalse__Globals.internal_little2_encoding
big2_encoding_nsnormal_encodingFalse__Globals.big2_encoding_ns
big2_encodingnormal_encodingFalse__Globals.big2_encoding
encodingsencodingFalse__Globals.encodings
encodingsNSencodingFalse__Globals.encodingsNS
nullLocatorLocatorImplFalsePoco.XML.anonymous_namespace{parserengine.cpp}.__Globals.nullLocator
shSingletonHolder<S>FalsePoco.XML.anonymous_namespace{domimplementation.cpp}.__Globals.sh
singletonSingletonHolder<S>FalsePoco.Net.anonymous_namespace{httpsessionfactory.cpp}.__Globals .singleton
nullSocketSocketFalsePoco.Net.anonymous_namespace{socketnotifier.cpp}.__Globals.nullSocket
_instanceTemplateCacheFalsePoco.JSON.TemplateCache._instance
holderSingletonHolder<S>FalsePoco.Crypto.anonymous_namespace{cipherfactory.cpp}.__Globals.holder
VAL_VER_MODEContext+VerificationModeTruePoco.Net.SSLManager.VAL_VER_MODE
singletonSingletonHolder<S>FalsePoco.Net.anonymous_namespace{sslmanager.cpp}.__Globals.singleton

Statistics

Stat   mutableFieldType   isFieldImmutable
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00

180
Naming Conventions  

warningCritical    Rule warning: Instance fields should be prefixed with a 'm_'
// <Name>Instance fields should be prefixed with a 'm_'</Name>
warnif count > 0 (from f in Fields where 
  
!f.NameLike (@"^m_") && 
  
!f.IsStatic  
  
// Don't hesitate to customize the regex of NameLike to your preference. 
 && !f.IsGlobal && !f.IsEnumValue && !f.IsThirdParty 
select new { f }).Take(10)

10 fields matched

fieldsFull Name
next_inz_stream_s.next_in
avail_inz_stream_s.avail_in
total_inz_stream_s.total_in
next_outz_stream_s.next_out
avail_outz_stream_s.avail_out
total_outz_stream_s.total_out
msgz_stream_s.msg
statez_stream_s.state
zallocz_stream_s.zalloc
zfreez_stream_s.zfree

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:
warningCritical    Rule warning: Static fields should be prefixed with a 's_'
// <Name>Static fields should be prefixed with a 's_'</Name>
   warnif count > 0 (from f in Fields where 
  
!f.NameLike (@"^s_") && 
  
f.IsStatic && !f.IsThirdParty 
  
select new { f }).Take(10)  
  
// Don't hesitate to customize the regex of NameLike to your preference.


10 fields matched

fieldsFull Name
kDecimalExponentDistance__Globals.kDecimalExponentDistance
kMinDecimalExponent__Globals.kMinDecimalExponent
kMaxDecimalExponent__Globals.kMaxDecimalExponent
crc_table__Globals.crc_table
configuration_table__Globals.configuration_table
extra_lbits__Globals.extra_lbits
extra_dbits__Globals.extra_dbits
extra_blbits__Globals.extra_blbits
bl_order__Globals.bl_order
static_ltree__Globals.static_ltree

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:
warningCritical    Rule warning: Exception class name should be suffixed with 'Exception'
// <Name>Exception class name should be suffixed with 'Exception'</Name>
warnif count > 0 (from t in Types where t.IsExceptionClass && !t.NameLike (@"Exception$") && !t.IsThirdParty
select new { t, t.NbLinesOfCode }).Take(10)

1 types matched

type# lines of code (LOC)Full Name
URIRedirection7Poco.URIRedirection

Statistics

Stat   # lines of code (LOC)
Sum:7
Average:7
Minimum:7
Maximum:7
Standard deviation:0
Variance:0
warningCritical    Rule warning: Types name should begin with an Upper character
// <Name>Types name should begin with an Upper character</Name>
warnif count > 0 (from t in Types where 
 
!t.NameLike (@"^[A-Z]")      // The name of a type should begin with an Upper letter.
  && // Except if it is generated by compiler or ...
 !t.IsThirdParty && !t.IsGlobal
select new { t, t.NbLinesOfCode }).Take(10)

10 types matched

types# lines of code (LOC)Full Name
poco_static_assert_test<x>0poco_static_assert_test<x>
z_stream_s0z_stream_s
gz_header_s0gz_header_s
gzFile_s0gzFile_s
internal_state0internal_state
ct_data_s0ct_data_s
ct_data_s+Anonymous0ct_data_s+Anonymous
ct_data_s+Anonymous0ct_data_s+Anonymous
tree_desc_s0tree_desc_s
internal_state0internal_state

Statistics

Stat   # lines of code (LOC)
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Avoid types with name too long
// <Name>Avoid types with name too long</Name>
warnif count > 0 from t in Application.Types 
where !t.IsGeneratedByCompiler && !t.IsThirdParty

where t.SimpleName.Length > 35 
select new { t, t.SimpleName }

      

1 types matched

typeSimpleNameFull Name
SSLConnectionUnexpectedlyClosedExceptionSSLConnectionUnexpectedlyClosedExceptionPoco.Net.SSLConnectionUnexpectedlyClosedException

Statistics

Stat   SimpleName
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Avoid methods with name too long
// <Name>Avoid methods with name too long</Name>
warnif count > 0 from m in Application.Methods where 
 
!m.IsGeneratedByCompiler 
  
&& m.SimpleName.Length > 35 && !m.IsThirdParty

select new { m, m.SimpleName }

// The regex matches methods with name longer 
// than 35 characters.
// Method Name doesn't contain the type and namespace 
// prefix, FullName does.
// The regex computes the method name length from 
// the beginning until the first open parenthesis 
// or first lower than (for generic methods).
      

140 methods matched

methodsSimpleNameFull Name
GetCachedPowerForBinaryExponentRange(int,int,double_conversion::DiyFp* ,int*)GetCachedPowerForBinaryExponentRange__Globals.GetCachedPowerForBinaryExponentRange(int,int ,double_conversion::DiyFp*,int*)
ActiveRunnable<ResultType,ArgType,OwnerType>(OwnerType*,Callback ,constArgType&,constActiveResultType&)ActiveRunnable<ResultType,ArgType,OwnerType>Poco.ActiveRunnable<ResultType,ArgType,OwnerType>.ActiveRunnable <ResultType,ArgType,OwnerType>(OwnerType*,Callback,constArgType& ,constActiveResultType&)
ActiveRunnable<void,type-parameter-0-0,type-parameter-0-1>(OwnerType* ,Callback,constArgType&,constActiveResultType&)ActiveRunnable<void,type-parameter-0-0,type-parameter-0-1>Poco.ActiveRunnable<void,type-parameter-0-0,type-parameter-0-1> .ActiveRunnable<void,type-parameter-0-0,type-parameter-0-1>(OwnerType* ,Callback,constArgType&,constActiveResultType&)
ActiveRunnable<type-parameter-0-0,void,type-parameter-0-1>(OwnerType* ,Callback,constActiveResultType&)ActiveRunnable<type-parameter-0-0,void,type-parameter-0-1>Poco.ActiveRunnable<type-parameter-0-0,void,type-parameter-0-1> .ActiveRunnable<type-parameter-0-0,void,type-parameter-0-1>(OwnerType* ,Callback,constActiveResultType&)
ActiveRunnable<void,void,type-parameter-0-0>(OwnerType*,Callback ,constActiveResultType&)ActiveRunnable<void,void,type-parameter-0-0>Poco.ActiveRunnable<void,void,type-parameter-0-0>.ActiveRunnable<void ,void,type-parameter-0-0>(OwnerType*,Callback,constActiveResultType&)
ActiveMethod<ResultType,ArgType,OwnerType,StarterType>(OwnerType* ,Callback)ActiveMethod<ResultType,ArgType,OwnerType,StarterType>Poco.ActiveMethod<ResultType,ArgType,OwnerType,StarterType,> .ActiveMethod<ResultType,ArgType,OwnerType,StarterType>(OwnerType* ,Callback)
ActiveMethod<ResultType,ArgType,OwnerType,StarterType> (constActiveMethod<ResultType,ArgType,OwnerType,StarterType>&)ActiveMethod<ResultType,ArgType,OwnerType,StarterType>Poco.ActiveMethod<ResultType,ArgType,OwnerType,StarterType,> .ActiveMethod<ResultType,ArgType,OwnerType,StarterType> (constActiveMethod<ResultType,ArgType,OwnerType,StarterType>&)
ActiveMethod<ResultType,ArgType,OwnerType,StarterType>()ActiveMethod<ResultType,ArgType,OwnerType,StarterType>Poco.ActiveMethod<ResultType,ArgType,OwnerType,StarterType,> .ActiveMethod<ResultType,ArgType,OwnerType,StarterType>()
ActiveMethod<type-parameter-0-0,void,type-parameter-0-1 ,type-parameter-0-2>(OwnerType*,Callback)ActiveMethod<type-parameter-0-0,void,type-parameter-0-1,type-parameter-0-2>Poco.ActiveMethod<type-parameter-0-0,void,type-parameter-0-1 ,type-parameter-0-2>.ActiveMethod<type-parameter-0-0,void ,type-parameter-0-1,type-parameter-0-2>(OwnerType*,Callback)
ActiveMethod<type-parameter-0-0,void,type-parameter-0-1 ,type-parameter-0-2>(constActiveMethod<type-parameter-0-0,void ,type-parameter-0-1,type-parameter-0-2>&)ActiveMethod<type-parameter-0-0,void,type-parameter-0-1,type-parameter-0-2>Poco.ActiveMethod<type-parameter-0-0,void,type-parameter-0-1 ,type-parameter-0-2>.ActiveMethod<type-parameter-0-0,void ,type-parameter-0-1,type-parameter-0-2>(constActiveMethod <type-parameter-0-0,void,type-parameter-0-1,type-parameter-0-2>&)
ActiveMethod<type-parameter-0-0,void,type-parameter-0-1 ,type-parameter-0-2>()ActiveMethod<type-parameter-0-0,void,type-parameter-0-1,type-parameter-0-2>Poco.ActiveMethod<type-parameter-0-0,void,type-parameter-0-1 ,type-parameter-0-2>.ActiveMethod<type-parameter-0-0,void ,type-parameter-0-1,type-parameter-0-2>()
AbstractEvent<TArgs,TStrategy,TDelegate,TMutex>()AbstractEvent<TArgs,TStrategy,TDelegate,TMutex>Poco.AbstractEvent<TArgs,TStrategy,TDelegate,TMutex>.AbstractEvent <TArgs,TStrategy,TDelegate,TMutex>()
AbstractEvent<TArgs,TStrategy,TDelegate,TMutex>(constTStrategy&)AbstractEvent<TArgs,TStrategy,TDelegate,TMutex>Poco.AbstractEvent<TArgs,TStrategy,TDelegate,TMutex>.AbstractEvent <TArgs,TStrategy,TDelegate,TMutex>(constTStrategy&)
~AbstractEvent<TArgs,TStrategy,TDelegate,TMutex>()~AbstractEvent<TArgs,TStrategy,TDelegate,TMutex>Poco.AbstractEvent<TArgs,TStrategy,TDelegate,TMutex>.~AbstractEvent <TArgs,TStrategy,TDelegate,TMutex>()
AbstractEvent<TArgs,TStrategy,TDelegate,TMutex>(constAbstractEvent <TArgs,TStrategy,TDelegate,TMutex>&)AbstractEvent<TArgs,TStrategy,TDelegate,TMutex>Poco.AbstractEvent<TArgs,TStrategy,TDelegate,TMutex>.AbstractEvent <TArgs,TStrategy,TDelegate,TMutex>(constAbstractEvent<TArgs,TStrategy ,TDelegate,TMutex>&)
AbstractEvent<void,type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2>()AbstractEvent<void,type-parameter-0-0,type-parameter-0-1,type-parameter-0-2>Poco.AbstractEvent<void,type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2>.AbstractEvent<void,type-parameter-0-0 ,type-parameter-0-1,type-parameter-0-2>()
AbstractEvent<void,type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2>(constTStrategy&)AbstractEvent<void,type-parameter-0-0,type-parameter-0-1,type-parameter-0-2>Poco.AbstractEvent<void,type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2>.AbstractEvent<void,type-parameter-0-0 ,type-parameter-0-1,type-parameter-0-2>(constTStrategy&)
~AbstractEvent<void,type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2>()~AbstractEvent<void,type-parameter-0-0,type-parameter-0-1,type-parameter-0-2>Poco.AbstractEvent<void,type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2>.~AbstractEvent<void,type-parameter-0-0 ,type-parameter-0-1,type-parameter-0-2>()
AbstractEvent<void,type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2>(constAbstractEvent<void,type-parameter-0-0 ,type-parameter-0-1,type-parameter-0-2>&)AbstractEvent<void,type-parameter-0-0,type-parameter-0-1,type-parameter-0-2>Poco.AbstractEvent<void,type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2>.AbstractEvent<void,type-parameter-0-0 ,type-parameter-0-1,type-parameter-0-2>(constAbstractEvent<void ,type-parameter-0-0,type-parameter-0-1,type-parameter-0-2>&)
NotificationStrategy<TArgs,TDelegate>()NotificationStrategy<TArgs,TDelegate>Poco.NotificationStrategy<TArgs,TDelegate>.NotificationStrategy<TArgs ,TDelegate>()
~NotificationStrategy<TArgs,TDelegate>()~NotificationStrategy<TArgs,TDelegate>Poco.NotificationStrategy<TArgs,TDelegate>.~NotificationStrategy<TArgs ,TDelegate>()
NotificationStrategy<void,type-parameter-0-0>()NotificationStrategy<void,type-parameter-0-0>Poco.NotificationStrategy<void,type-parameter-0-0> .NotificationStrategy<void,type-parameter-0-0>()
~NotificationStrategy<void,type-parameter-0-0>()~NotificationStrategy<void,type-parameter-0-0>Poco.NotificationStrategy<void,type-parameter-0-0> .~NotificationStrategy<void,type-parameter-0-0>()
DefaultStrategy<void,type-parameter-0-0>()DefaultStrategy<void,type-parameter-0-0>Poco.DefaultStrategy<void,type-parameter-0-0>.DefaultStrategy<void ,type-parameter-0-0>()
DefaultStrategy<void,type-parameter-0-0>(constDefaultStrategy<void ,type-parameter-0-0>&)DefaultStrategy<void,type-parameter-0-0>Poco.DefaultStrategy<void,type-parameter-0-0>.DefaultStrategy<void ,type-parameter-0-0>(constDefaultStrategy<void,type-parameter-0-0>&)
~DefaultStrategy<void,type-parameter-0-0>()~DefaultStrategy<void,type-parameter-0-0>Poco.DefaultStrategy<void,type-parameter-0-0>.~DefaultStrategy<void ,type-parameter-0-0>()
BasicBufferedBidirectionalStreamBuf<ch,tr,ba>(std::streamsize,openmode )BasicBufferedBidirectionalStreamBuf<ch,tr,ba>Poco.BasicBufferedBidirectionalStreamBuf<ch,tr,ba,> .BasicBufferedBidirectionalStreamBuf<ch,tr,ba>(std::streamsize ,openmode)
~BasicBufferedBidirectionalStreamBuf<ch,tr,ba>()~BasicBufferedBidirectionalStreamBuf<ch,tr,ba>Poco.BasicBufferedBidirectionalStreamBuf<ch,tr,ba,> .~BasicBufferedBidirectionalStreamBuf<ch,tr,ba>()
BasicBufferedBidirectionalStreamBuf<ch,tr,ba> (constBasicBufferedBidirectionalStreamBuf<ch,tr,ba>&)BasicBufferedBidirectionalStreamBuf<ch,tr,ba>Poco.BasicBufferedBidirectionalStreamBuf<ch,tr,ba,> .BasicBufferedBidirectionalStreamBuf<ch,tr,ba> (constBasicBufferedBidirectionalStreamBuf<ch,tr,ba>&)
VarHolderImpl<vector<type-parameter-0-0,allocator<type-parameter-0-0>> >(conststd::vector<T>&)VarHolderImpl<vector<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Dynamic.VarHolderImpl<vector<type-parameter-0-0,allocator <type-parameter-0-0>>>.VarHolderImpl<vector<type-parameter-0-0 ,allocator<type-parameter-0-0>>>(conststd::vector<T>&)
~VarHolderImpl<vector<type-parameter-0-0,allocator<type-parameter-0-0> >>()~VarHolderImpl<vector<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Dynamic.VarHolderImpl<vector<type-parameter-0-0,allocator <type-parameter-0-0>>>.~VarHolderImpl<vector<type-parameter-0-0 ,allocator<type-parameter-0-0>>>()
VarHolderImpl<vector<type-parameter-0-0,allocator<type-parameter-0-0>> >()VarHolderImpl<vector<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Dynamic.VarHolderImpl<vector<type-parameter-0-0,allocator <type-parameter-0-0>>>.VarHolderImpl<vector<type-parameter-0-0 ,allocator<type-parameter-0-0>>>()
VarHolderImpl<vector<type-parameter-0-0,allocator<type-parameter-0-0>> >(constVarHolderImpl<vector<type-parameter-0-0,allocator <type-parameter-0-0>>>&)VarHolderImpl<vector<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Dynamic.VarHolderImpl<vector<type-parameter-0-0,allocator <type-parameter-0-0>>>.VarHolderImpl<vector<type-parameter-0-0 ,allocator<type-parameter-0-0>>>(constVarHolderImpl<vector <type-parameter-0-0,allocator<type-parameter-0-0>>>&)
VarHolderImpl<list<type-parameter-0-0,allocator<type-parameter-0-0>>> (conststd::list<T>&)VarHolderImpl<list<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Dynamic.VarHolderImpl<list<type-parameter-0-0,allocator <type-parameter-0-0>>>.VarHolderImpl<list<type-parameter-0-0,allocator <type-parameter-0-0>>>(conststd::list<T>&)
~VarHolderImpl<list<type-parameter-0-0,allocator<type-parameter-0-0>>> ()~VarHolderImpl<list<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Dynamic.VarHolderImpl<list<type-parameter-0-0,allocator <type-parameter-0-0>>>.~VarHolderImpl<list<type-parameter-0-0 ,allocator<type-parameter-0-0>>>()
VarHolderImpl<list<type-parameter-0-0,allocator<type-parameter-0-0>>>( )VarHolderImpl<list<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Dynamic.VarHolderImpl<list<type-parameter-0-0,allocator <type-parameter-0-0>>>.VarHolderImpl<list<type-parameter-0-0,allocator <type-parameter-0-0>>>()
VarHolderImpl<list<type-parameter-0-0,allocator<type-parameter-0-0>>> (constVarHolderImpl<list<type-parameter-0-0,allocator <type-parameter-0-0>>>&)VarHolderImpl<list<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Dynamic.VarHolderImpl<list<type-parameter-0-0,allocator <type-parameter-0-0>>>.VarHolderImpl<list<type-parameter-0-0,allocator <type-parameter-0-0>>>(constVarHolderImpl<list<type-parameter-0-0 ,allocator<type-parameter-0-0>>>&)
VarHolderImpl<deque<type-parameter-0-0,allocator<type-parameter-0-0>>> (conststd::deque<T>&)VarHolderImpl<deque<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Dynamic.VarHolderImpl<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>.VarHolderImpl<deque<type-parameter-0-0 ,allocator<type-parameter-0-0>>>(conststd::deque<T>&)
~VarHolderImpl<deque<type-parameter-0-0,allocator<type-parameter-0-0>> >()~VarHolderImpl<deque<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Dynamic.VarHolderImpl<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>.~VarHolderImpl<deque<type-parameter-0-0 ,allocator<type-parameter-0-0>>>()
VarHolderImpl<deque<type-parameter-0-0,allocator<type-parameter-0-0>>> ()VarHolderImpl<deque<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Dynamic.VarHolderImpl<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>.VarHolderImpl<deque<type-parameter-0-0 ,allocator<type-parameter-0-0>>>()
VarHolderImpl<deque<type-parameter-0-0,allocator<type-parameter-0-0>>> (constVarHolderImpl<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>&)VarHolderImpl<deque<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Dynamic.VarHolderImpl<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>.VarHolderImpl<deque<type-parameter-0-0 ,allocator<type-parameter-0-0>>>(constVarHolderImpl<deque <type-parameter-0-0,allocator<type-parameter-0-0>>>&)
InitialScaledStartValuesPositiveExponent(uint64_t,int,int,bool ,double_conversion::Bignum*,double_conversion::Bignum* ,double_conversion::Bignum*,double_conversion::Bignum*)InitialScaledStartValuesPositiveExponentdouble_conversion.__Globals.InitialScaledStartValuesPositiveExponent (uint64_t,int,int,bool,double_conversion::Bignum* ,double_conversion::Bignum*,double_conversion::Bignum* ,double_conversion::Bignum*)
InitialScaledStartValuesNegativeExponentPositivePower(uint64_t,int,int ,bool,double_conversion::Bignum*,double_conversion::Bignum* ,double_conversion::Bignum*,double_conversion::Bignum*)InitialScaledStartValuesNegativeExponentPositivePowerdouble_conversion.__Globals .InitialScaledStartValuesNegativeExponentPositivePower(uint64_t,int ,int,bool,double_conversion::Bignum*,double_conversion::Bignum* ,double_conversion::Bignum*,double_conversion::Bignum*)
InitialScaledStartValuesNegativeExponentNegativePower(uint64_t,int,int ,bool,double_conversion::Bignum*,double_conversion::Bignum* ,double_conversion::Bignum*,double_conversion::Bignum*)InitialScaledStartValuesNegativeExponentNegativePowerdouble_conversion.__Globals .InitialScaledStartValuesNegativeExponentNegativePower(uint64_t,int ,int,bool,double_conversion::Bignum*,double_conversion::Bignum* ,double_conversion::Bignum*,double_conversion::Bignum*)
Column<list<type-parameter-0-0,allocator<type-parameter-0-0>>> (constPoco::Data::MetaColumn&,std::list<T>*)Column<list<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Data.Column<list<type-parameter-0-0,allocator<type-parameter-0-0> >>.Column<list<type-parameter-0-0,allocator<type-parameter-0-0>>> (constPoco::Data::MetaColumn&,std::list<T>*)
Column<list<type-parameter-0-0,allocator<type-parameter-0-0>>> (constColumn<list<type-parameter-0-0,allocator<type-parameter-0-0>>>&)Column<list<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Data.Column<list<type-parameter-0-0,allocator<type-parameter-0-0> >>.Column<list<type-parameter-0-0,allocator<type-parameter-0-0>>> (constColumn<list<type-parameter-0-0,allocator<type-parameter-0-0>>>&)
~Column<list<type-parameter-0-0,allocator<type-parameter-0-0>>>()~Column<list<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Data.Column<list<type-parameter-0-0,allocator<type-parameter-0-0> >>.~Column<list<type-parameter-0-0,allocator<type-parameter-0-0>>>()
Column<list<type-parameter-0-0,allocator<type-parameter-0-0>>>()Column<list<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Data.Column<list<type-parameter-0-0,allocator<type-parameter-0-0> >>.Column<list<type-parameter-0-0,allocator<type-parameter-0-0>>>()
TypeHandler<deque<type-parameter-0-0,allocator<type-parameter-0-0>>> (constTypeHandler<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>&)TypeHandler<deque<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Data.TypeHandler<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>.TypeHandler<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>(constTypeHandler<deque<type-parameter-0-0 ,allocator<type-parameter-0-0>>>&)
TypeHandler<vector<type-parameter-0-0,allocator<type-parameter-0-0>>> (constTypeHandler<vector<type-parameter-0-0,allocator <type-parameter-0-0>>>&)TypeHandler<vector<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Data.TypeHandler<vector<type-parameter-0-0,allocator <type-parameter-0-0>>>.TypeHandler<vector<type-parameter-0-0,allocator <type-parameter-0-0>>>(constTypeHandler<vector<type-parameter-0-0 ,allocator<type-parameter-0-0>>>&)
TypeHandler<list<type-parameter-0-0,allocator<type-parameter-0-0>>> (constTypeHandler<list<type-parameter-0-0,allocator<type-parameter-0-0 >>>&)TypeHandler<list<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Data.TypeHandler<list<type-parameter-0-0,allocator <type-parameter-0-0>>>.TypeHandler<list<type-parameter-0-0,allocator <type-parameter-0-0>>>(constTypeHandler<list<type-parameter-0-0 ,allocator<type-parameter-0-0>>>&)
TypeHandler<Nullable<type-parameter-0-0>>()TypeHandler<Nullable<type-parameter-0-0>>Poco.Data.TypeHandler<Nullable<type-parameter-0-0>>.TypeHandler <Nullable<type-parameter-0-0>>()
~TypeHandler<Nullable<type-parameter-0-0>>()~TypeHandler<Nullable<type-parameter-0-0>>Poco.Data.TypeHandler<Nullable<type-parameter-0-0>>.~TypeHandler <Nullable<type-parameter-0-0>>()
TypeHandler<Nullable<type-parameter-0-0>>(constTypeHandler<Nullable <type-parameter-0-0>>&)TypeHandler<Nullable<type-parameter-0-0>>Poco.Data.TypeHandler<Nullable<type-parameter-0-0>>.TypeHandler <Nullable<type-parameter-0-0>>(constTypeHandler<Nullable <type-parameter-0-0>>&)
TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13 ,type-parameter-0-14,type-parameter-0-15,type-parameter-0-16 ,type-parameter-0-17,type-parameter-0-18,type-parameter-0-19>> (constTypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13 ,type-parameter-0-14,type-parameter-0-15,type-parameter-0-16 ,type-parameter-0-17,type-parameter-0-18,type-parameter-0-19>>&)TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13,type-parameter-0-14,type-parameter-0-15,type-parameter-0-16,type-parameter-0-17,type-parameter-0-18,type-parameter-0-19>>Poco.Data.TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13 ,type-parameter-0-14,type-parameter-0-15,type-parameter-0-16 ,type-parameter-0-17,type-parameter-0-18,type-parameter-0-19>> .TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13 ,type-parameter-0-14,type-parameter-0-15,type-parameter-0-16 ,type-parameter-0-17,type-parameter-0-18,type-parameter-0-19>> (constTypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13 ,type-parameter-0-14,type-parameter-0-15,type-parameter-0-16 ,type-parameter-0-17,type-parameter-0-18,type-parameter-0-19>>&)
TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13 ,type-parameter-0-14,type-parameter-0-15,type-parameter-0-16 ,type-parameter-0-17,type-parameter-0-18,structPoco::NullTypeList>> (constTypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13 ,type-parameter-0-14,type-parameter-0-15,type-parameter-0-16 ,type-parameter-0-17,type-parameter-0-18,Poco::NullTypeList>>&)TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13,type-parameter-0-14,type-parameter-0-15,type-parameter-0-16,type-parameter-0-17,type-parameter-0-18,structPoco::NullTypeList>>Poco.Data.TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13 ,type-parameter-0-14,type-parameter-0-15,type-parameter-0-16 ,type-parameter-0-17,type-parameter-0-18,Poco::NullTypeList>> .TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13 ,type-parameter-0-14,type-parameter-0-15,type-parameter-0-16 ,type-parameter-0-17,type-parameter-0-18,structPoco::NullTypeList>> (constTypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13 ,type-parameter-0-14,type-parameter-0-15,type-parameter-0-16 ,type-parameter-0-17,type-parameter-0-18,Poco::NullTypeList>>&)
TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13 ,type-parameter-0-14,type-parameter-0-15,type-parameter-0-16 ,type-parameter-0-17,structPoco::NullTypeList,structPoco::NullTypeList >>(constTypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13 ,type-parameter-0-14,type-parameter-0-15,type-parameter-0-16 ,type-parameter-0-17,Poco::NullTypeList,Poco::NullTypeList>>&)TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13,type-parameter-0-14,type-parameter-0-15,type-parameter-0-16,type-parameter-0-17,structPoco::NullTypeList,structPoco::NullTypeList>>Poco.Data.TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13 ,type-parameter-0-14,type-parameter-0-15,type-parameter-0-16 ,type-parameter-0-17,Poco::NullTypeList,Poco::NullTypeList>> .TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13 ,type-parameter-0-14,type-parameter-0-15,type-parameter-0-16 ,type-parameter-0-17,structPoco::NullTypeList,structPoco::NullTypeList >>(constTypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13 ,type-parameter-0-14,type-parameter-0-15,type-parameter-0-16 ,type-parameter-0-17,Poco::NullTypeList,Poco::NullTypeList>>&)
TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13 ,type-parameter-0-14,type-parameter-0-15,type-parameter-0-16 ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList>>(constTypeHandler<Tuple<type-parameter-0-0 ,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3 ,type-parameter-0-4,type-parameter-0-5,type-parameter-0-6 ,type-parameter-0-7,type-parameter-0-8,type-parameter-0-9 ,type-parameter-0-10,type-parameter-0-11,type-parameter-0-12 ,type-parameter-0-13,type-parameter-0-14,type-parameter-0-15 ,type-parameter-0-16,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList>>&)TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13,type-parameter-0-14,type-parameter-0-15,type-parameter-0-16,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList>>Poco.Data.TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13 ,type-parameter-0-14,type-parameter-0-15,type-parameter-0-16 ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList>> .TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13 ,type-parameter-0-14,type-parameter-0-15,type-parameter-0-16 ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList>>(constTypeHandler<Tuple<type-parameter-0-0 ,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3 ,type-parameter-0-4,type-parameter-0-5,type-parameter-0-6 ,type-parameter-0-7,type-parameter-0-8,type-parameter-0-9 ,type-parameter-0-10,type-parameter-0-11,type-parameter-0-12 ,type-parameter-0-13,type-parameter-0-14,type-parameter-0-15 ,type-parameter-0-16,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList>>&)
TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13 ,type-parameter-0-14,type-parameter-0-15,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList>>(constTypeHandler<Tuple<type-parameter-0-0 ,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3 ,type-parameter-0-4,type-parameter-0-5,type-parameter-0-6 ,type-parameter-0-7,type-parameter-0-8,type-parameter-0-9 ,type-parameter-0-10,type-parameter-0-11,type-parameter-0-12 ,type-parameter-0-13,type-parameter-0-14,type-parameter-0-15 ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList>>&)TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13,type-parameter-0-14,type-parameter-0-15,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList>>Poco.Data.TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13 ,type-parameter-0-14,type-parameter-0-15,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList>> .TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13 ,type-parameter-0-14,type-parameter-0-15,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList>>(constTypeHandler<Tuple<type-parameter-0-0 ,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3 ,type-parameter-0-4,type-parameter-0-5,type-parameter-0-6 ,type-parameter-0-7,type-parameter-0-8,type-parameter-0-9 ,type-parameter-0-10,type-parameter-0-11,type-parameter-0-12 ,type-parameter-0-13,type-parameter-0-14,type-parameter-0-15 ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList>>&)
TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13 ,type-parameter-0-14,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList>>(constTypeHandler<Tuple<type-parameter-0-0 ,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3 ,type-parameter-0-4,type-parameter-0-5,type-parameter-0-6 ,type-parameter-0-7,type-parameter-0-8,type-parameter-0-9 ,type-parameter-0-10,type-parameter-0-11,type-parameter-0-12 ,type-parameter-0-13,type-parameter-0-14,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList>>&)TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13,type-parameter-0-14,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList>>Poco.Data.TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13 ,type-parameter-0-14,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList>> .TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13 ,type-parameter-0-14,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList>>(constTypeHandler<Tuple<type-parameter-0-0 ,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3 ,type-parameter-0-4,type-parameter-0-5,type-parameter-0-6 ,type-parameter-0-7,type-parameter-0-8,type-parameter-0-9 ,type-parameter-0-10,type-parameter-0-11,type-parameter-0-12 ,type-parameter-0-13,type-parameter-0-14,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList>>&)
TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13 ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList>>(constTypeHandler <Tuple<type-parameter-0-0,type-parameter-0-1,type-parameter-0-2 ,type-parameter-0-3,type-parameter-0-4,type-parameter-0-5 ,type-parameter-0-6,type-parameter-0-7,type-parameter-0-8 ,type-parameter-0-9,type-parameter-0-10,type-parameter-0-11 ,type-parameter-0-12,type-parameter-0-13,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList>>&)TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList>>Poco.Data.TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13 ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList>> .TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,type-parameter-0-12,type-parameter-0-13 ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList>>(constTypeHandler <Tuple<type-parameter-0-0,type-parameter-0-1,type-parameter-0-2 ,type-parameter-0-3,type-parameter-0-4,type-parameter-0-5 ,type-parameter-0-6,type-parameter-0-7,type-parameter-0-8 ,type-parameter-0-9,type-parameter-0-10,type-parameter-0-11 ,type-parameter-0-12,type-parameter-0-13,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList>>&)
TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,type-parameter-0-12,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList>>(constTypeHandler <Tuple<type-parameter-0-0,type-parameter-0-1,type-parameter-0-2 ,type-parameter-0-3,type-parameter-0-4,type-parameter-0-5 ,type-parameter-0-6,type-parameter-0-7,type-parameter-0-8 ,type-parameter-0-9,type-parameter-0-10,type-parameter-0-11 ,type-parameter-0-12,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList>>&)TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10,type-parameter-0-11,type-parameter-0-12,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList>>Poco.Data.TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,type-parameter-0-12,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList>> .TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,type-parameter-0-12,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList>>(constTypeHandler <Tuple<type-parameter-0-0,type-parameter-0-1,type-parameter-0-2 ,type-parameter-0-3,type-parameter-0-4,type-parameter-0-5 ,type-parameter-0-6,type-parameter-0-7,type-parameter-0-8 ,type-parameter-0-9,type-parameter-0-10,type-parameter-0-11 ,type-parameter-0-12,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList>>&)
TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList>>(constTypeHandler <Tuple<type-parameter-0-0,type-parameter-0-1,type-parameter-0-2 ,type-parameter-0-3,type-parameter-0-4,type-parameter-0-5 ,type-parameter-0-6,type-parameter-0-7,type-parameter-0-8 ,type-parameter-0-9,type-parameter-0-10,type-parameter-0-11 ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList>>&)TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10,type-parameter-0-11,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList>>Poco.Data.TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList>> .TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,type-parameter-0-11,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList>>(constTypeHandler <Tuple<type-parameter-0-0,type-parameter-0-1,type-parameter-0-2 ,type-parameter-0-3,type-parameter-0-4,type-parameter-0-5 ,type-parameter-0-6,type-parameter-0-7,type-parameter-0-8 ,type-parameter-0-9,type-parameter-0-10,type-parameter-0-11 ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList>>&)
TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList>>(constTypeHandler<Tuple<type-parameter-0-0 ,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3 ,type-parameter-0-4,type-parameter-0-5,type-parameter-0-6 ,type-parameter-0-7,type-parameter-0-8,type-parameter-0-9 ,type-parameter-0-10,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList>>&)TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList>>Poco.Data.TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList>> .TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,type-parameter-0-10 ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList>>(constTypeHandler<Tuple<type-parameter-0-0 ,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3 ,type-parameter-0-4,type-parameter-0-5,type-parameter-0-6 ,type-parameter-0-7,type-parameter-0-8,type-parameter-0-9 ,type-parameter-0-10,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList>>&)
TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList>>(constTypeHandler<Tuple<type-parameter-0-0 ,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3 ,type-parameter-0-4,type-parameter-0-5,type-parameter-0-6 ,type-parameter-0-7,type-parameter-0-8,type-parameter-0-9 ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList>>&)TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7,type-parameter-0-8,type-parameter-0-9,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList>>Poco.Data.TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList>> .TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,type-parameter-0-9,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList>>(constTypeHandler<Tuple<type-parameter-0-0 ,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3 ,type-parameter-0-4,type-parameter-0-5,type-parameter-0-6 ,type-parameter-0-7,type-parameter-0-8,type-parameter-0-9 ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList>>&)
TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList>>(constTypeHandler<Tuple<type-parameter-0-0 ,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3 ,type-parameter-0-4,type-parameter-0-5,type-parameter-0-6 ,type-parameter-0-7,type-parameter-0-8,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList>>&)TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7,type-parameter-0-8,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList>>Poco.Data.TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList>> .TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,type-parameter-0-8,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList>>(constTypeHandler<Tuple<type-parameter-0-0 ,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3 ,type-parameter-0-4,type-parameter-0-5,type-parameter-0-6 ,type-parameter-0-7,type-parameter-0-8,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList>>&)
TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList>>(constTypeHandler <Tuple<type-parameter-0-0,type-parameter-0-1,type-parameter-0-2 ,type-parameter-0-3,type-parameter-0-4,type-parameter-0-5 ,type-parameter-0-6,type-parameter-0-7,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList>>&)TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList>>Poco.Data.TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList>> .TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,type-parameter-0-7 ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList>>(constTypeHandler <Tuple<type-parameter-0-0,type-parameter-0-1,type-parameter-0-2 ,type-parameter-0-3,type-parameter-0-4,type-parameter-0-5 ,type-parameter-0-6,type-parameter-0-7,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList>>&)
TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList>>(constTypeHandler <Tuple<type-parameter-0-0,type-parameter-0-1,type-parameter-0-2 ,type-parameter-0-3,type-parameter-0-4,type-parameter-0-5 ,type-parameter-0-6,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList>>&)TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4,type-parameter-0-5,type-parameter-0-6,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList>>Poco.Data.TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList>> .TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,type-parameter-0-6,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList>>(constTypeHandler <Tuple<type-parameter-0-0,type-parameter-0-1,type-parameter-0-2 ,type-parameter-0-3,type-parameter-0-4,type-parameter-0-5 ,type-parameter-0-6,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList>>&)
TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList>>(constTypeHandler <Tuple<type-parameter-0-0,type-parameter-0-1,type-parameter-0-2 ,type-parameter-0-3,type-parameter-0-4,type-parameter-0-5 ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList>>&)TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4,type-parameter-0-5,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList>>Poco.Data.TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList>> .TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,type-parameter-0-5,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList>>(constTypeHandler <Tuple<type-parameter-0-0,type-parameter-0-1,type-parameter-0-2 ,type-parameter-0-3,type-parameter-0-4,type-parameter-0-5 ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList>>&)
TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList>>(constTypeHandler<Tuple<type-parameter-0-0 ,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3 ,type-parameter-0-4,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList>>&)TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList>>Poco.Data.TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList>> .TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,type-parameter-0-4 ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList>>(constTypeHandler<Tuple<type-parameter-0-0 ,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3 ,type-parameter-0-4,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList>>&)
TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList>>(constTypeHandler<Tuple<type-parameter-0-0 ,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3 ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList>>&)TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList>>Poco.Data.TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList>> .TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,type-parameter-0-3,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList>>(constTypeHandler<Tuple<type-parameter-0-0 ,type-parameter-0-1,type-parameter-0-2,type-parameter-0-3 ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList>>&)
TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList>>(constTypeHandler<Tuple<type-parameter-0-0 ,type-parameter-0-1,type-parameter-0-2,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList>>&)TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1,type-parameter-0-2,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList>>Poco.Data.TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList>> .TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList>>(constTypeHandler<Tuple<type-parameter-0-0 ,type-parameter-0-1,type-parameter-0-2,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList>>&)
TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList>>(constTypeHandler <Tuple<type-parameter-0-0,type-parameter-0-1,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList>>&)TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList>>Poco.Data.TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList>> .TypeHandler<Tuple<type-parameter-0-0,type-parameter-0-1 ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList>>(constTypeHandler <Tuple<type-parameter-0-0,type-parameter-0-1,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList>>&)
TypeHandler<Tuple<type-parameter-0-0,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList>>(constTypeHandler <Tuple<type-parameter-0-0,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList>>&)TypeHandler<Tuple<type-parameter-0-0,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList,structPoco::NullTypeList>>Poco.Data.TypeHandler<Tuple<type-parameter-0-0,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList>> .TypeHandler<Tuple<type-parameter-0-0,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList ,structPoco::NullTypeList,structPoco::NullTypeList>>(constTypeHandler <Tuple<type-parameter-0-0,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList,Poco::NullTypeList ,Poco::NullTypeList,Poco::NullTypeList>>&)
TypeHandler<pair<type-parameter-0-0,type-parameter-0-1>> (constTypeHandler<pair<type-parameter-0-0,type-parameter-0-1>>&)TypeHandler<pair<type-parameter-0-0,type-parameter-0-1>>Poco.Data.TypeHandler<pair<type-parameter-0-0,type-parameter-0-1>> .TypeHandler<pair<type-parameter-0-0,type-parameter-0-1>> (constTypeHandler<pair<type-parameter-0-0,type-parameter-0-1>>&)
TypeHandler<AutoPtr<type-parameter-0-0>>(constTypeHandler<AutoPtr <type-parameter-0-0>>&)TypeHandler<AutoPtr<type-parameter-0-0>>Poco.Data.TypeHandler<AutoPtr<type-parameter-0-0>>.TypeHandler<AutoPtr <type-parameter-0-0>>(constTypeHandler<AutoPtr<type-parameter-0-0>>&)
TypeHandler<SharedPtr<type-parameter-0-0,classPoco::ReferenceCounter ,ReleasePolicy<type-parameter-0-0>>>(constTypeHandler<SharedPtr <type-parameter-0-0,Poco::ReferenceCounter,ReleasePolicy <type-parameter-0-0>>>&)TypeHandler<SharedPtr<type-parameter-0-0,classPoco::ReferenceCounter,ReleasePolicy<type-parameter-0-0>>>Poco.Data.TypeHandler<SharedPtr<type-parameter-0-0 ,Poco::ReferenceCounter,ReleasePolicy<type-parameter-0-0>>> .TypeHandler<SharedPtr<type-parameter-0-0,classPoco::ReferenceCounter ,ReleasePolicy<type-parameter-0-0>>>(constTypeHandler<SharedPtr <type-parameter-0-0,Poco::ReferenceCounter,ReleasePolicy <type-parameter-0-0>>>&)
Preparation<vector<type-parameter-0-0,allocator<type-parameter-0-0>>> (AbstractPreparator::Ptr,std::size_t,std::vector<T>&)Preparation<vector<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Data.Preparation<vector<type-parameter-0-0,allocator <type-parameter-0-0>>>.Preparation<vector<type-parameter-0-0,allocator <type-parameter-0-0>>>(AbstractPreparator::Ptr,std::size_t,std::vector <T>&)
~Preparation<vector<type-parameter-0-0,allocator<type-parameter-0-0>>> ()~Preparation<vector<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Data.Preparation<vector<type-parameter-0-0,allocator <type-parameter-0-0>>>.~Preparation<vector<type-parameter-0-0 ,allocator<type-parameter-0-0>>>()
Preparation<deque<type-parameter-0-0,allocator<type-parameter-0-0>>> (AbstractPreparator::Ptr,std::size_t,std::deque<T>&)Preparation<deque<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Data.Preparation<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>.Preparation<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>(AbstractPreparator::Ptr,std::size_t,std::deque <T>&)
~Preparation<deque<type-parameter-0-0,allocator<type-parameter-0-0>>>( )~Preparation<deque<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Data.Preparation<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>.~Preparation<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>()
Preparation<list<type-parameter-0-0,allocator<type-parameter-0-0>>> (AbstractPreparator::Ptr,std::size_t,std::list<T>&)Preparation<list<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Data.Preparation<list<type-parameter-0-0,allocator <type-parameter-0-0>>>.Preparation<list<type-parameter-0-0,allocator <type-parameter-0-0>>>(AbstractPreparator::Ptr,std::size_t,std::list<T >&)
~Preparation<list<type-parameter-0-0,allocator<type-parameter-0-0>>>()~Preparation<list<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Data.Preparation<list<type-parameter-0-0,allocator <type-parameter-0-0>>>.~Preparation<list<type-parameter-0-0,allocator <type-parameter-0-0>>>()
Extraction<vector<type-parameter-0-0,allocator<type-parameter-0-0>>> (std::vector<T>&,constPoco::Data::Position&)Extraction<vector<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Data.Extraction<vector<type-parameter-0-0,allocator <type-parameter-0-0>>>.Extraction<vector<type-parameter-0-0,allocator <type-parameter-0-0>>>(std::vector<T>&,constPoco::Data::Position&)
Extraction<vector<type-parameter-0-0,allocator<type-parameter-0-0>>> (std::vector<T>&,constT&,constPoco::Data::Position&)Extraction<vector<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Data.Extraction<vector<type-parameter-0-0,allocator <type-parameter-0-0>>>.Extraction<vector<type-parameter-0-0,allocator <type-parameter-0-0>>>(std::vector<T>&,constT& ,constPoco::Data::Position&)
~Extraction<vector<type-parameter-0-0,allocator<type-parameter-0-0>>>( )~Extraction<vector<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Data.Extraction<vector<type-parameter-0-0,allocator <type-parameter-0-0>>>.~Extraction<vector<type-parameter-0-0,allocator <type-parameter-0-0>>>()
Extraction<list<type-parameter-0-0,allocator<type-parameter-0-0>>> (std::list<T>&,constPoco::Data::Position&)Extraction<list<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Data.Extraction<list<type-parameter-0-0,allocator <type-parameter-0-0>>>.Extraction<list<type-parameter-0-0,allocator <type-parameter-0-0>>>(std::list<T>&,constPoco::Data::Position&)
Extraction<list<type-parameter-0-0,allocator<type-parameter-0-0>>> (std::list<T>&,constT&,constPoco::Data::Position&)Extraction<list<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Data.Extraction<list<type-parameter-0-0,allocator <type-parameter-0-0>>>.Extraction<list<type-parameter-0-0,allocator <type-parameter-0-0>>>(std::list<T>&,constT& ,constPoco::Data::Position&)
~Extraction<list<type-parameter-0-0,allocator<type-parameter-0-0>>>()~Extraction<list<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Data.Extraction<list<type-parameter-0-0,allocator <type-parameter-0-0>>>.~Extraction<list<type-parameter-0-0,allocator <type-parameter-0-0>>>()
Extraction<deque<type-parameter-0-0,allocator<type-parameter-0-0>>> (std::deque<T>&,constPoco::Data::Position&)Extraction<deque<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Data.Extraction<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>.Extraction<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>(std::deque<T>&,constPoco::Data::Position&)
Extraction<deque<type-parameter-0-0,allocator<type-parameter-0-0>>> (std::deque<T>&,constT&,constPoco::Data::Position&)Extraction<deque<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Data.Extraction<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>.Extraction<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>(std::deque<T>&,constT& ,constPoco::Data::Position&)
~Extraction<deque<type-parameter-0-0,allocator<type-parameter-0-0>>>()~Extraction<deque<type-parameter-0-0,allocator<type-parameter-0-0>>>Poco.Data.Extraction<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>.~Extraction<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>()
Extraction<set<type-parameter-0-0,less<type-parameter-0-0>,allocator <type-parameter-0-0>>>(std::set<T>&,constPoco::Data::Position&)Extraction<set<type-parameter-0-0,less<type-parameter-0-0>,allocator<type-parameter-0-0>>>Poco.Data.Extraction<set<type-parameter-0-0,less<type-parameter-0-0> ,allocator<type-parameter-0-0>>>.Extraction<set<type-parameter-0-0 ,less<type-parameter-0-0>,allocator<type-parameter-0-0>>>(std::set<T>& ,constPoco::Data::Position&)
Extraction<set<type-parameter-0-0,less<type-parameter-0-0>,allocator <type-parameter-0-0>>>(std::set<T>&,constT&,constPoco::Data::Position& )Extraction<set<type-parameter-0-0,less<type-parameter-0-0>,allocator<type-parameter-0-0>>>Poco.Data.Extraction<set<type-parameter-0-0,less<type-parameter-0-0> ,allocator<type-parameter-0-0>>>.Extraction<set<type-parameter-0-0 ,less<type-parameter-0-0>,allocator<type-parameter-0-0>>>(std::set<T>& ,constT&,constPoco::Data::Position&)
~Extraction<set<type-parameter-0-0,less<type-parameter-0-0>,allocator <type-parameter-0-0>>>()~Extraction<set<type-parameter-0-0,less<type-parameter-0-0>,allocator<type-parameter-0-0>>>Poco.Data.Extraction<set<type-parameter-0-0,less<type-parameter-0-0> ,allocator<type-parameter-0-0>>>.~Extraction<set<type-parameter-0-0 ,less<type-parameter-0-0>,allocator<type-parameter-0-0>>>()
Extraction<multiset<type-parameter-0-0,less<type-parameter-0-0> ,allocator<type-parameter-0-0>>>(std::multiset<T>& ,constPoco::Data::Position&)Extraction<multiset<type-parameter-0-0,less<type-parameter-0-0>,allocator<type-parameter-0-0>>>Poco.Data.Extraction<multiset<type-parameter-0-0,less <type-parameter-0-0>,allocator<type-parameter-0-0>>>.Extraction <multiset<type-parameter-0-0,less<type-parameter-0-0>,allocator <type-parameter-0-0>>>(std::multiset<T>&,constPoco::Data::Position&)
Extraction<multiset<type-parameter-0-0,less<type-parameter-0-0> ,allocator<type-parameter-0-0>>>(std::multiset<T>&,constT& ,constPoco::Data::Position&)Extraction<multiset<type-parameter-0-0,less<type-parameter-0-0>,allocator<type-parameter-0-0>>>Poco.Data.Extraction<multiset<type-parameter-0-0,less <type-parameter-0-0>,allocator<type-parameter-0-0>>>.Extraction <multiset<type-parameter-0-0,less<type-parameter-0-0>,allocator <type-parameter-0-0>>>(std::multiset<T>&,constT& ,constPoco::Data::Position&)
~Extraction<multiset<type-parameter-0-0,less<type-parameter-0-0> ,allocator<type-parameter-0-0>>>()~Extraction<multiset<type-parameter-0-0,less<type-parameter-0-0>,allocator<type-parameter-0-0>>>Poco.Data.Extraction<multiset<type-parameter-0-0,less <type-parameter-0-0>,allocator<type-parameter-0-0>>>.~Extraction <multiset<type-parameter-0-0,less<type-parameter-0-0>,allocator <type-parameter-0-0>>>()
Extraction<map<type-parameter-0-0,type-parameter-0-1,less <type-parameter-0-0>,allocator<pair<consttype-parameter-0-0 ,type-parameter-0-1>>>>(std::map<K,V>&,constPoco::Data::Position&)Extraction<map<type-parameter-0-0,type-parameter-0-1,less<type-parameter-0-0>,allocator<pair<consttype-parameter-0-0,type-parameter-0-1>>>>Poco.Data.Extraction<map<type-parameter-0-0,type-parameter-0-1,less <type-parameter-0-0>,allocator<pair<consttype-parameter-0-0 ,type-parameter-0-1>>>>.Extraction<map<type-parameter-0-0 ,type-parameter-0-1,less<type-parameter-0-0>,allocator<pair <consttype-parameter-0-0,type-parameter-0-1>>>>(std::map<K,V>& ,constPoco::Data::Position&)
Extraction<map<type-parameter-0-0,type-parameter-0-1,less <type-parameter-0-0>,allocator<pair<consttype-parameter-0-0 ,type-parameter-0-1>>>>(std::map<K,V>&,constV& ,constPoco::Data::Position&)Extraction<map<type-parameter-0-0,type-parameter-0-1,less<type-parameter-0-0>,allocator<pair<consttype-parameter-0-0,type-parameter-0-1>>>>Poco.Data.Extraction<map<type-parameter-0-0,type-parameter-0-1,less <type-parameter-0-0>,allocator<pair<consttype-parameter-0-0 ,type-parameter-0-1>>>>.Extraction<map<type-parameter-0-0 ,type-parameter-0-1,less<type-parameter-0-0>,allocator<pair <consttype-parameter-0-0,type-parameter-0-1>>>>(std::map<K,V>&,constV& ,constPoco::Data::Position&)

Statistics

Stat   SimpleName
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Avoid fields with name too long
// <Name>Avoid fields with name too long</Name>
warnif count > 0 from f in Application.Fields where
 
!f.IsGeneratedByCompiler &&
  
f.Name.Length > 35 && !f.IsThirdParty
select f

// The regex matches fields with name longer 
// than 35 characters.
// Field Name doesn't contain the type and 
// namespace prefix, FullName does.
      

7 fields matched

fieldsFull Name
XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REFXML_Error.XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF
XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSINGXML_Error.XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING
XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONEXML_ParamEntityParsing.XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE
HTTP_REASON_PROXY_AUTHENTICATION_REQUIREDPoco.Net.HTTPResponse.HTTP_REASON_PROXY_AUTHENTICATION_REQUIRED
HTTP_REASON_REQUESTED_RANGE_NOT_SATISFIABLEPoco.Net.HTTPResponse.HTTP_REASON_REQUESTED_RANGE_NOT_SATISFIABLE
HTTP_REQUESTED_RANGE_NOT_SATISFIABLEPoco.Net.HTTPResponse+HTTPStatus.HTTP_REQUESTED_RANGE_NOT_SATISFIABLE
WS_ERR_HANDSHAKE_UNSUPPORTED_VERSIONPoco.Net.WebSocket+ErrorCodes.WS_ERR_HANDSHAKE_UNSUPPORTED_VERSION

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:
warningCritical    Rule warning: Namespace name should correspond to file location
// <Name>Namespace name should correspond to file location</Name>

// For a good code organization, 
// do mirror the namespaces hierarchy and the source files directories tree.

warnif count > 0
from n in Application.Namespaces 

// Replace dots by spaces in namespace name
let dirCorresponding = n.Name.Replace('.', ' ')

// Look at source file decl of JustMyCode type's declared in n
from t in n.ChildTypes
where JustMyCode.Contains(t) 
from decl in t.SourceDecls
let sourceFilePath = decl.SourceFile.FilePath.ToString()

// Replace dots and path separators by spaces in source files names
where !sourceFilePath.Replace('.',' ').Replace('\\',' ').Contains(dirCorresponding) && !t.IsThirdParty

select new { t, dirCorresponding , sourceFilePath  } 

194 types matched

typesdirCorrespondingsourceFilePathFull Name
__GlobalsPococ:\GlobalMembersPoco.__Globals
DirectoryWatcherStrategyPocoC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\DirectoryWatcher.cppPoco.DirectoryWatcherStrategy
DirectoryWatcherStrategy+ItemInfoPocoC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\DirectoryWatcher.cppPoco.DirectoryWatcherStrategy+ItemInfo
WindowsDirectoryWatcherStrategyPocoC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\DirectoryWatcher.cppPoco.WindowsDirectoryWatcherStrategy
PooledThreadPocoC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\ThreadPool.cppPoco.PooledThread
ThreadPoolSingletonHolderPocoC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\ThreadPool.cppPoco.ThreadPoolSingletonHolder
ArchiveCompressorPocoC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\ArchiveStrategy.cppPoco.ArchiveCompressor
MessageNotificationPocoC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\AsyncChannel.cppPoco.MessageNotification
AutoLoggerShutdownPocoC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\Logger.cppPoco.AutoLoggerShutdown
FileHandlePocoC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\File_WIN32U.cppPoco.FileHandle
TempFileCollectorPocoC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\TemporaryFile.cppPoco.TempFileCollector
TextEncodingManagerPocoC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\TextEncoding.cppPoco.TextEncodingManager
PtrPoco ImplC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\NumericString.hPoco.Impl.Ptr
__GlobalsPoco anonymous_namespace{base32decoder cpp}c:\GlobalMembersPoco.anonymous_namespace{base32decoder.cpp}.__Globals
__GlobalsPoco anonymous_namespace{format cpp}c:\GlobalMembersPoco.anonymous_namespace{format.cpp}.__Globals
__GlobalsPoco anonymous_namespace{nesteddiagnosticcontext cpp}c:\GlobalMembersPoco.anonymous_namespace{nesteddiagnosticcontext.cpp}.__Globals
__GlobalsPoco Dynamicc:\GlobalMembersPoco.Dynamic.__Globals
__GlobalsPoco Dynamic Implc:\GlobalMembersPoco.Dynamic.Impl.__Globals
__GlobalsPoco anonymous_namespace{base64decoder cpp}c:\GlobalMembersPoco.anonymous_namespace{base64decoder.cpp}.__Globals
MethodNotificationPoco anonymous_namespace{activedispatcher cpp}C:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\ActiveDispatcher.cppPoco.anonymous_namespace{activedispatcher.cpp}.MethodNotification
StopNotificationPoco anonymous_namespace{activedispatcher cpp}C:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\ActiveDispatcher.cppPoco.anonymous_namespace{activedispatcher.cpp}.StopNotification
__GlobalsPoco anonymous_namespace{threadlocal cpp}c:\GlobalMembersPoco.anonymous_namespace{threadlocal.cpp}.__Globals
__GlobalsPoco anonymous_namespace{threadpool cpp}c:\GlobalMembersPoco.anonymous_namespace{threadpool.cpp}.__Globals
__GlobalsPoco anonymous_namespace{logger cpp}c:\GlobalMembersPoco.anonymous_namespace{logger.cpp}.__Globals
__GlobalsPoco anonymous_namespace{loggingfactory cpp}c:\GlobalMembersPoco.anonymous_namespace{loggingfactory.cpp}.__Globals
__GlobalsPoco anonymous_namespace{loggingregistry cpp}c:\GlobalMembersPoco.anonymous_namespace{loggingregistry.cpp}.__Globals
__GlobalsPoco anonymous_namespace{patternformatter cpp}c:\GlobalMembersPoco.anonymous_namespace{patternformatter.cpp}.__Globals
__GlobalsPoco anonymous_namespace{notificationcenter cpp}c:\GlobalMembersPoco.anonymous_namespace{notificationcenter.cpp}.__Globals
__GlobalsPoco anonymous_namespace{notificationqueue cpp}c:\GlobalMembersPoco.anonymous_namespace{notificationqueue.cpp}.__Globals
__GlobalsPoco anonymous_namespace{prioritynotificationqueue cpp}c:\GlobalMembersPoco.anonymous_namespace{prioritynotificationqueue.cpp}.__Globals
__GlobalsPoco anonymous_namespace{temporaryfile cpp}c:\GlobalMembersPoco.anonymous_namespace{temporaryfile.cpp}.__Globals
__GlobalsPoco anonymous_namespace{uuid cpp}c:\GlobalMembersPoco.anonymous_namespace{uuid.cpp}.__Globals
__GlobalsPoco anonymous_namespace{uuidgenerator cpp}c:\GlobalMembersPoco.anonymous_namespace{uuidgenerator.cpp}.__Globals
__GlobalsPoco anonymous_namespace{textencoding cpp}c:\GlobalMembersPoco.anonymous_namespace{textencoding.cpp}.__Globals
__GlobalsPoco anonymous_namespace{utf8string cpp}c:\GlobalMembersPoco.anonymous_namespace{utf8string.cpp}.__Globals
__GlobalsPoco anonymous_namespace{uristreamopener cpp}c:\GlobalMembersPoco.anonymous_namespace{uristreamopener.cpp}.__Globals
CachedPowerdouble_conversionC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\cached-powers.ccdouble_conversion.CachedPower
__Globalsdouble_conversionc:\GlobalMembersdouble_conversion.__Globals
UInt128double_conversionC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\fixed-dtoa.ccdouble_conversion.UInt128
__Globalsanonymous_namespace{numericstring cpp}c:\GlobalMembersanonymous_namespace{numericstring.cpp}.__Globals
__Globalsstdc:\GlobalMembersstd.__Globals
__Globalsanonymous_namespace{process cpp}c:\GlobalMembersanonymous_namespace{process.cpp}.__Globals
__Globalsanonymous_namespace{textconverter cpp}c:\GlobalMembersanonymous_namespace{textconverter.cpp}.__Globals
__GlobalsPoco XMLc:\GlobalMembersPoco.XML.__Globals
NamePoolItemPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\src\NamePool.cppPoco.XML.NamePoolItem
NamespaceSupportPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\NamespaceSupport.hPoco.XML.NamespaceSupport
AttributesPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\Attributes.hPoco.XML.Attributes
AttributesImplPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\AttributesImpl.hPoco.XML.AttributesImpl
AttributesImpl+AttributePoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\AttributesImpl.hPoco.XML.AttributesImpl+Attribute
ContentHandlerPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\ContentHandler.hPoco.XML.ContentHandler
LocatorPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\Locator.hPoco.XML.Locator
EntityResolverPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\EntityResolver.hPoco.XML.EntityResolver
EntityResolverImplPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\EntityResolverImpl.hPoco.XML.EntityResolverImpl
DTDHandlerPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\DTDHandler.hPoco.XML.DTDHandler
DeclHandlerPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\DeclHandler.hPoco.XML.DeclHandler
LexicalHandlerPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\LexicalHandler.hPoco.XML.LexicalHandler
ErrorHandlerPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\ErrorHandler.hPoco.XML.ErrorHandler
InputSourcePoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\InputSource.hPoco.XML.InputSource
LocatorImplPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\LocatorImpl.hPoco.XML.LocatorImpl
SAXExceptionPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\SAXException.hPoco.XML.SAXException
SAXNotRecognizedExceptionPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\SAXException.hPoco.XML.SAXNotRecognizedException
SAXNotSupportedExceptionPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\SAXException.hPoco.XML.SAXNotSupportedException
SAXParseExceptionPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\SAXException.hPoco.XML.SAXParseException
ContextLocatorPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\src\ParserEngine.cppPoco.XML.ContextLocator
DefaultHandlerPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\DefaultHandler.hPoco.XML.DefaultHandler
XMLReaderPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\XMLReader.hPoco.XML.XMLReader
SAXParserPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\SAXParser.hPoco.XML.SAXParser
XMLFilterPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\XMLFilter.hPoco.XML.XMLFilter
XMLFilterImplPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\XMLFilterImpl.hPoco.XML.XMLFilterImpl
WhitespaceFilterPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\WhitespaceFilter.hPoco.XML.WhitespaceFilter
DOMObjectPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\DOMObject.hPoco.XML.DOMObject
EventTargetPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\EventTarget.hPoco.XML.EventTarget
NodePoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\Node.hPoco.XML.Node
Node+AnonymousEnumPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\Node.hPoco.XML.Node+AnonymousEnum
EventPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\Event.hPoco.XML.Event
Event+PhaseTypePoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\Event.hPoco.XML.Event+PhaseType
MutationEventPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\MutationEvent.hPoco.XML.MutationEvent
MutationEvent+AttrChangeTypePoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\MutationEvent.hPoco.XML.MutationEvent+AttrChangeType
AbstractNodePoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\AbstractNode.hPoco.XML.AbstractNode
AbstractContainerNodePoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\AbstractContainerNode.hPoco.XML.AbstractContainerNode
DocumentEventPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\DocumentEvent.hPoco.XML.DocumentEvent
ElementPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\Element.hPoco.XML.Element
DocumentPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\Document.hPoco.XML.Document
AttrPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\Attr.hPoco.XML.Attr
DOMExceptionPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\DOMException.hPoco.XML.DOMException
DOMException+AnonymousEnumPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\DOMException.hPoco.XML.DOMException+AnonymousEnum
NodeListPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\NodeList.hPoco.XML.NodeList
ElementsByTagNameListPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\ElementsByTagNameList.hPoco.XML.ElementsByTagNameList
ElementsByTagNameListNSPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\ElementsByTagNameList.hPoco.XML.ElementsByTagNameListNS
ChildNodesListPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\ChildNodesList.hPoco.XML.ChildNodesList
EventDispatcherPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\EventDispatcher.hPoco.XML.EventDispatcher
EventDispatcher+EventListenerItemPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\EventDispatcher.hPoco.XML.EventDispatcher+EventListenerItem
EventExceptionPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\EventException.hPoco.XML.EventException
EventException+AnonymousEnumPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\EventException.hPoco.XML.EventException+AnonymousEnum
DOMImplementationPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\DOMImplementation.hPoco.XML.DOMImplementation
NamedNodeMapPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\NamedNodeMap.hPoco.XML.NamedNodeMap
AttrMapPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\AttrMap.hPoco.XML.AttrMap
CharacterDataPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\CharacterData.hPoco.XML.CharacterData
TextPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\Text.hPoco.XML.Text
CDATASectionPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\CDATASection.hPoco.XML.CDATASection

Statistics

Stat   dirCorresponding   sourceFilePath
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00

040
Source Files Organization  

warningCritical    Rule warning: Avoid defining multiple types in a source file
// <Name>Avoid defining multiple types in a source file</Name>
warnif count > 0 

// Build a lookup indexed by source files, values being a sequence of types defined in the source file.
let lookup = Application.Types.Where(t => 
                                
!t.IsGlobal && 
                               
// except nested types and types generated by compilers!
                               !t.IsGeneratedByCompiler &&                               
                               
!t.IsNested)                                
                         
// It could make sense to not apply this rule for enumerations.
                         // && !t.IsEnumeration)

            
// We use multi-key, since a type can be declared in multiple source files.
           .ToMultiKeyLookup(t => t.SourceDecls.Select(d => d.SourceFile))
 
from @group in lookup where @group.Count() > 1
   
let sourceFile = @group.Key

   
// CQLinq doesn't let indexing result with sourceFile 
   // so we choose a typeIndex in types, 
   // preferably the type that has the file name.
   let typeWithSourceFileName = @group.FirstOrDefault(t => t.SimpleName == sourceFile.FileNameWithoutExtension)
   
let typeIndex = typeWithSourceFileName ?? @group.First()

select new { typeIndex, 
             
types = @group as IEnumerable<IType>, 
             
sourceFile.FilePathString }

128 types matched

typestypesFilePathStringFull Name
Bugcheck3 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\Bugcheck.hPoco.Bugcheck
z_stream_s4 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\zlib.hz_stream_s
ct_data_s3 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\deflate.hct_data_s
block_state3 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\deflate.cblock_state
code2 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\inftrees.hcode
inflate_mode2 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\inflate.hinflate_mode
pcre_extra2 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\pcre.hpcre_extra
AnonymousEnum13 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\pcre_internal.hAnonymousEnum
AnonymousEnum3 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\ucp.hAnonymousEnum
Exception46 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\Exception.hPoco.Exception
ScopedLock<M>2 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\ScopedLock.hPoco.ScopedLock<M>
Mutex3 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\Mutex.hPoco.Mutex
Base32Decoder3 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\Base32Decoder.hPoco.Base32Decoder
Base32Encoder3 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\Base32Encoder.hPoco.Base32Encoder
UTF16CharTraits2 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\UTFString.hPoco.UTF16CharTraits
SharedPtr<C,RC,RP,>4 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\SharedPtr.hPoco.SharedPtr<C,RC,RP,>
ActiveResult<RT>4 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\ActiveResult.hPoco.ActiveResult<RT>
ActiveRunnable<ResultType,ArgType,OwnerType>5 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\ActiveRunnable.hPoco.ActiveRunnable<ResultType,ArgType,OwnerType>
ActiveMethod<ResultType,ArgType,OwnerType,StarterType,>2 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\ActiveMethod.hPoco.ActiveMethod<ResultType,ArgType,OwnerType,StarterType,>
AbstractEvent<TArgs,TStrategy,TDelegate,TMutex>2 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\AbstractEvent.hPoco.AbstractEvent<TArgs,TStrategy,TDelegate,TMutex>
NotificationStrategy<TArgs,TDelegate>2 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\NotificationStrategy.hPoco.NotificationStrategy<TArgs,TDelegate>
DefaultStrategy<TArgs,TDelegate>2 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\DefaultStrategy.hPoco.DefaultStrategy<TArgs,TDelegate>
AbstractDelegate<TArgs>2 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\AbstractDelegate.hPoco.AbstractDelegate<TArgs>
DirectoryWatcherStrategy2 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\DirectoryWatcher.cppPoco.DirectoryWatcherStrategy
IsReference<T>11 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\MetaProgramming.hPoco.IsReference<T>
Any2 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\Any.hPoco.Any
FIFOBufferStream3 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\FIFOBufferStream.hPoco.FIFOBufferStream
i_char_traits<charT>2 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\String.hPoco.i_char_traits<charT>
NestedDiagnosticContext2 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\NestedDiagnosticContext.hPoco.NestedDiagnosticContext
ThreadLocal<C>4 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\ThreadLocal.hPoco.ThreadLocal<C>
BasicMemoryStreamBuf<ch,tr>4 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\MemoryStream.hPoco.BasicMemoryStreamBuf<ch,tr>
TraverseBase3 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\DirectoryIteratorStrategy.hPoco.TraverseBase
Base64Decoder3 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\Base64Decoder.hPoco.Base64Decoder
Base64Encoder3 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\Base64Encoder.hPoco.Base64Encoder
BinaryReader2 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\BinaryReader.hPoco.BinaryReader
BinaryWriter2 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\BinaryWriter.hPoco.BinaryWriter
CountingStreamBuf4 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\CountingStream.hPoco.CountingStreamBuf
DeflatingStreamBuf4 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\DeflatingStream.hPoco.DeflatingStreamBuf
FileStream4 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\FileStream.hPoco.FileStream
HexBinaryDecoder3 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\HexBinaryDecoder.hPoco.HexBinaryDecoder
HexBinaryEncoder3 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\HexBinaryEncoder.hPoco.HexBinaryEncoder
InflatingStreamBuf4 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\InflatingStream.hPoco.InflatingStreamBuf
LineEnding5 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\LineEndingConverter.hPoco.LineEnding
NullStreamBuf4 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\NullStream.hPoco.NullStreamBuf
Token4 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\Token.hPoco.Token
TeeStreamBuf4 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\TeeStream.hPoco.TeeStreamBuf
ActiveDispatcher2 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\ActiveDispatcher.hPoco.ActiveDispatcher
RWLock4 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\RWLock.hPoco.RWLock
PooledThread2 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\ThreadPool.cppPoco.PooledThread
Timer3 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\Timer.hPoco.Timer
DigestBuf4 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\DigestStream.hPoco.DigestBuf
RandomBuf3 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\RandomStream.hPoco.RandomBuf
MetaObject<C,B>3 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\MetaObject.hPoco.MetaObject<C,B>
Manifest<B>2 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\Manifest.hPoco.Manifest<B>
ArchiveStrategy3 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\ArchiveStrategy.hPoco.ArchiveStrategy
ConsoleChannel2 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\ConsoleChannel.hPoco.ConsoleChannel
RotateStrategy4 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\RotateStrategy.hPoco.RotateStrategy
PurgeStrategy3 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\PurgeStrategy.hPoco.PurgeStrategy
Instantiator<C,Base>2 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\Instantiator.hPoco.Instantiator<C,Base>
WindowsConsoleChannel2 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\WindowsConsoleChannel.hPoco.WindowsConsoleChannel
LogStream3 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\LogStream.hPoco.LogStream
ProcessHandleImpl2 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\Process_WIN32U.hPoco.ProcessHandleImpl
Process2 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\Process.hPoco.Process
PipeStreamBuf4 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\PipeStream.hPoco.PipeStreamBuf
StreamConverterBuf4 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\StreamConverter.hPoco.StreamConverterBuf
URIStreamFactory2 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\URIStreamFactory.hPoco.URIStreamFactory
TaskNotification7 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\TaskNotification.hPoco.TaskNotification
VarHolder24 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\Dynamic\VarHolder.hPoco.Dynamic.VarHolder
Struct<K>3 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\Dynamic\Struct.hPoco.Dynamic.Struct<K>
MethodNotification2 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\ActiveDispatcher.cppPoco.anonymous_namespace{activedispatcher.cpp}.MethodNotification
XML_Status13 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\XML\expat.hXML_Status
position4 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\src\xmltok.hposition
AnonymousEnum2 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\src\xmlrole.hAnonymousEnum
NAMED18 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\src\xmlparse.cppNAMED
normal_encoding4 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\src\xmltok.cnormal_encoding
NamespaceStrategy4 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\XML\NamespaceStrategy.hPoco.XML.NamespaceStrategy
SAXException4 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\SAXException.hPoco.XML.SAXException
ElementsByTagNameList2 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\ElementsByTagNameList.hPoco.XML.ElementsByTagNameList
CppToken8 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\CppParser\include\Poco\CppParser\CppToken.hPoco.CppParser.CppToken
NetException25 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Net\include\Poco\Net\NetException.hPoco.Net.NetException
SocketStream5 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Net\include\Poco\Net\SocketStream.hPoco.Net.SocketStream
MultipartReader4 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Net\include\Poco\Net\MultipartReader.hPoco.Net.MultipartReader
PartStore4 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Net\include\Poco\Net\PartStore.hPoco.Net.PartStore
QuotedPrintableDecoder3 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Net\include\Poco\Net\QuotedPrintableDecoder.hPoco.Net.QuotedPrintableDecoder
QuotedPrintableEncoder3 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Net\include\Poco\Net\QuotedPrintableEncoder.hPoco.Net.QuotedPrintableEncoder
HTTPChunkedStreamBuf4 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Net\include\Poco\Net\HTTPChunkedStream.hPoco.Net.HTTPChunkedStreamBuf
HTTPFixedLengthStreamBuf4 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Net\include\Poco\Net\HTTPFixedLengthStream.hPoco.Net.HTTPFixedLengthStreamBuf
HTTPHeaderStreamBuf4 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Net\include\Poco\Net\HTTPHeaderStream.hPoco.Net.HTTPHeaderStreamBuf
HTTPStreamBuf4 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Net\include\Poco\Net\HTTPStream.hPoco.Net.HTTPStreamBuf
TCPServerConnectionFactory2 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Net\include\Poco\Net\TCPServerConnectionFactory.hPoco.Net.TCPServerConnectionFactory
HTTPResponseStreamBuf3 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Net\include\Poco\Net\HTTPIOStream.hPoco.Net.HTTPResponseStreamBuf
FTPStreamFactory2 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Net\include\Poco\Net\FTPStreamFactory.hPoco.Net.FTPStreamFactory
FTPStreamBuf3 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Net\src\FTPStreamFactory.cppPoco.Net.FTPStreamBuf
SocketNotification7 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Net\include\Poco\Net\SocketNotification.hPoco.Net.SocketNotification
MailStreamBuf4 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Net\include\Poco\Net\MailStream.hPoco.Net.MailStreamBuf
DialogStreamBuf3 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Net\src\POP3ClientSession.cppPoco.Net.DialogStreamBuf
MessageNotification3 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Net\src\RemoteSyslogListener.cppPoco.Net.MessageNotification
SocketAddressImpl3 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Net\include\Poco\Net\SocketAddressImpl.hPoco.Net.Impl.SocketAddressImpl
IPAddressImpl3 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Net\include\Poco\Net\IPAddressImpl.hPoco.Net.Impl.IPAddressImpl
MultiPartHandler2 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Net\src\MailMessage.cppPoco.Net.anonymous_namespace{mailmessage.cpp}.MultiPartHandler

Statistics

Stat   types   FilePathString
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00
warningCritical    Rule warning: Namespace name should correspond to file location
// <Name>Namespace name should correspond to file location</Name>

// For a good code organization, 
// do mirror the namespaces hierarchy and the source files directories tree.

warnif count > 0
from n in Application.Namespaces 

// Replace dots by spaces in namespace name
let dirCorresponding = n.Name.Replace('.', ' ')

// Look at source file decl of JustMyCode type's declared in n
from t in n.ChildTypes
where JustMyCode.Contains(t) && !t.IsGlobal
from decl in t.SourceDecls
let sourceFilePath = decl.SourceFile.FilePath.ToString()

// Replace dots and path separators by spaces in source files names
where !sourceFilePath.Replace('.',' ').Replace('\\',' ').Contains(dirCorresponding)

select new { t, dirCorresponding , sourceFilePath  } 

140 types matched

typesdirCorrespondingsourceFilePathFull Name
DirectoryWatcherStrategyPocoC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\DirectoryWatcher.cppPoco.DirectoryWatcherStrategy
DirectoryWatcherStrategy+ItemInfoPocoC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\DirectoryWatcher.cppPoco.DirectoryWatcherStrategy+ItemInfo
WindowsDirectoryWatcherStrategyPocoC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\DirectoryWatcher.cppPoco.WindowsDirectoryWatcherStrategy
PooledThreadPocoC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\ThreadPool.cppPoco.PooledThread
ThreadPoolSingletonHolderPocoC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\ThreadPool.cppPoco.ThreadPoolSingletonHolder
ArchiveCompressorPocoC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\ArchiveStrategy.cppPoco.ArchiveCompressor
MessageNotificationPocoC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\AsyncChannel.cppPoco.MessageNotification
AutoLoggerShutdownPocoC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\Logger.cppPoco.AutoLoggerShutdown
FileHandlePocoC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\File_WIN32U.cppPoco.FileHandle
TempFileCollectorPocoC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\TemporaryFile.cppPoco.TempFileCollector
TextEncodingManagerPocoC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\TextEncoding.cppPoco.TextEncodingManager
PtrPoco ImplC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco\NumericString.hPoco.Impl.Ptr
MethodNotificationPoco anonymous_namespace{activedispatcher cpp}C:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\ActiveDispatcher.cppPoco.anonymous_namespace{activedispatcher.cpp}.MethodNotification
StopNotificationPoco anonymous_namespace{activedispatcher cpp}C:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\ActiveDispatcher.cppPoco.anonymous_namespace{activedispatcher.cpp}.StopNotification
CachedPowerdouble_conversionC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\cached-powers.ccdouble_conversion.CachedPower
UInt128double_conversionC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\src\fixed-dtoa.ccdouble_conversion.UInt128
NamePoolItemPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\src\NamePool.cppPoco.XML.NamePoolItem
NamespaceSupportPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\NamespaceSupport.hPoco.XML.NamespaceSupport
AttributesPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\Attributes.hPoco.XML.Attributes
AttributesImplPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\AttributesImpl.hPoco.XML.AttributesImpl
AttributesImpl+AttributePoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\AttributesImpl.hPoco.XML.AttributesImpl+Attribute
ContentHandlerPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\ContentHandler.hPoco.XML.ContentHandler
LocatorPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\Locator.hPoco.XML.Locator
EntityResolverPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\EntityResolver.hPoco.XML.EntityResolver
EntityResolverImplPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\EntityResolverImpl.hPoco.XML.EntityResolverImpl
DTDHandlerPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\DTDHandler.hPoco.XML.DTDHandler
DeclHandlerPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\DeclHandler.hPoco.XML.DeclHandler
LexicalHandlerPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\LexicalHandler.hPoco.XML.LexicalHandler
ErrorHandlerPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\ErrorHandler.hPoco.XML.ErrorHandler
InputSourcePoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\InputSource.hPoco.XML.InputSource
LocatorImplPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\LocatorImpl.hPoco.XML.LocatorImpl
SAXExceptionPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\SAXException.hPoco.XML.SAXException
SAXNotRecognizedExceptionPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\SAXException.hPoco.XML.SAXNotRecognizedException
SAXNotSupportedExceptionPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\SAXException.hPoco.XML.SAXNotSupportedException
SAXParseExceptionPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\SAXException.hPoco.XML.SAXParseException
ContextLocatorPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\src\ParserEngine.cppPoco.XML.ContextLocator
DefaultHandlerPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\DefaultHandler.hPoco.XML.DefaultHandler
XMLReaderPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\XMLReader.hPoco.XML.XMLReader
SAXParserPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\SAXParser.hPoco.XML.SAXParser
XMLFilterPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\XMLFilter.hPoco.XML.XMLFilter
XMLFilterImplPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\XMLFilterImpl.hPoco.XML.XMLFilterImpl
WhitespaceFilterPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\SAX\WhitespaceFilter.hPoco.XML.WhitespaceFilter
DOMObjectPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\DOMObject.hPoco.XML.DOMObject
EventTargetPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\EventTarget.hPoco.XML.EventTarget
NodePoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\Node.hPoco.XML.Node
Node+AnonymousEnumPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\Node.hPoco.XML.Node+AnonymousEnum
EventPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\Event.hPoco.XML.Event
Event+PhaseTypePoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\Event.hPoco.XML.Event+PhaseType
MutationEventPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\MutationEvent.hPoco.XML.MutationEvent
MutationEvent+AttrChangeTypePoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\MutationEvent.hPoco.XML.MutationEvent+AttrChangeType
AbstractNodePoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\AbstractNode.hPoco.XML.AbstractNode
AbstractContainerNodePoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\AbstractContainerNode.hPoco.XML.AbstractContainerNode
DocumentEventPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\DocumentEvent.hPoco.XML.DocumentEvent
ElementPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\Element.hPoco.XML.Element
DocumentPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\Document.hPoco.XML.Document
AttrPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\Attr.hPoco.XML.Attr
DOMExceptionPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\DOMException.hPoco.XML.DOMException
DOMException+AnonymousEnumPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\DOMException.hPoco.XML.DOMException+AnonymousEnum
NodeListPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\NodeList.hPoco.XML.NodeList
ElementsByTagNameListPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\ElementsByTagNameList.hPoco.XML.ElementsByTagNameList
ElementsByTagNameListNSPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\ElementsByTagNameList.hPoco.XML.ElementsByTagNameListNS
ChildNodesListPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\ChildNodesList.hPoco.XML.ChildNodesList
EventDispatcherPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\EventDispatcher.hPoco.XML.EventDispatcher
EventDispatcher+EventListenerItemPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\EventDispatcher.hPoco.XML.EventDispatcher+EventListenerItem
EventExceptionPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\EventException.hPoco.XML.EventException
EventException+AnonymousEnumPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\EventException.hPoco.XML.EventException+AnonymousEnum
DOMImplementationPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\DOMImplementation.hPoco.XML.DOMImplementation
NamedNodeMapPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\NamedNodeMap.hPoco.XML.NamedNodeMap
AttrMapPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\AttrMap.hPoco.XML.AttrMap
CharacterDataPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\CharacterData.hPoco.XML.CharacterData
TextPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\Text.hPoco.XML.Text
CDATASectionPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\CDATASection.hPoco.XML.CDATASection
CommentPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\Comment.hPoco.XML.Comment
DocumentTypePoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\DocumentType.hPoco.XML.DocumentType
DocumentFragmentPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\DocumentFragment.hPoco.XML.DocumentFragment
ProcessingInstructionPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\ProcessingInstruction.hPoco.XML.ProcessingInstruction
EntityReferencePoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\EntityReference.hPoco.XML.EntityReference
EntityPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\Entity.hPoco.XML.Entity
NotationPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\Notation.hPoco.XML.Notation
DTDMapPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\DTDMap.hPoco.XML.DTDMap
DOMBuilderPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\DOMBuilder.hPoco.XML.DOMBuilder
DOMParserPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\DOMParser.hPoco.XML.DOMParser
DOMSerializerPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\DOMSerializer.hPoco.XML.DOMSerializer
DOMWriterPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\DOMWriter.hPoco.XML.DOMWriter
EventListenerPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\EventListener.hPoco.XML.EventListener
NodeAppenderPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\NodeAppender.hPoco.XML.NodeAppender
NodeFilterPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\NodeFilter.hPoco.XML.NodeFilter
NodeFilter+AnonymousEnumPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\NodeFilter.hPoco.XML.NodeFilter+AnonymousEnum
NodeFilter+WhatToShowPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\NodeFilter.hPoco.XML.NodeFilter+WhatToShow
NodeIteratorPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\NodeIterator.hPoco.XML.NodeIterator
TreeWalkerPoco XMLC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\DOM\TreeWalker.hPoco.XML.TreeWalker
DispatchGuardanonymous_namespace{eventdispatcher cpp}C:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\src\EventDispatcher.cppanonymous_namespace{eventdispatcher.cpp}.DispatchGuard
CPLTPoco CppParser anonymous_namespace{struct cpp}C:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\CppParser\src\Struct.cppPoco.CppParser.anonymous_namespace{struct.cpp}.CPLT
NetworkInterfaceImplPoco NetC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Net\src\NetworkInterface.cppPoco.Net.NetworkInterfaceImpl
AFLTPoco NetC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Net\src\SocketAddress.cppPoco.Net.AFLT
TCPConnectionNotificationPoco NetC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Net\src\TCPServerDispatcher.cppPoco.Net.TCPConnectionNotification
HTMLFormCountingOutputStreamPoco NetC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Net\src\HTMLForm.cppPoco.Net.HTMLFormCountingOutputStream
FTPStreamBufPoco NetC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Net\src\FTPStreamFactory.cppPoco.Net.FTPStreamBuf
FTPIOSPoco NetC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Net\src\FTPStreamFactory.cppPoco.Net.FTPIOS
FTPStreamPoco NetC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Net\src\FTPStreamFactory.cppPoco.Net.FTPStream

Statistics

Stat   dirCorresponding   sourceFilePath
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00
warningCritical    Rule warning: Types with source files stored in the same directory, should be declared in the same namespace
// <Name>Types with source files stored in the same directory, should be declared in the same namespace</Name>
warnif count > 0 

// Group JustMyCode types in a lookup 
// where groups are keyed with directories that contain the types' source file(s).
// Note that a type can be contained in several groups 
// if it is declared in several source files stored in different directories.
let lookup = JustMyCode.Types.Where(t => !t.IsGlobal)
            
.ToMultiKeyLookup(
               
t => t.SourceDecls.Select(
                          
decl => decl.SourceFile.FilePath.ParentDirectoryPath).Distinct()
            
)


from groupOfTypes in lookup
let parentNamespaces = groupOfTypes.ParentNamespaces()

// Select group of types (with source files stored in the same directory) ...
// ... but contained in several namespaces
where parentNamespaces.Count() > 1

// mainNamespaces is the namespace that contains many types 
// declared in the directory groupOfTypes .key
let mainNamespace  = groupOfTypes
                     
.ToLookup(t => t.ParentNamespace)
                     
.OrderByDescending(g => g.Count()).First().Key

// Select types with source files stored in the same directory,
// but contained in namespaces different than mainNamespace.
let typesOutOfMainNamespace = groupOfTypes
                              
.Where(t => t.ParentNamespace != mainNamespace )

                               
// Filter types declared on several source files that contain generated methods 
                               // because typically such type contains one or several partial definitions generated.
                               // These partially generated types would be false positive for the present rule.
                               .Where(t => t.SourceDecls.Count() == 1 ||
                                           
t.Methods.Count(m => JustMyCode.Contains(m)) == 0)
where typesOutOfMainNamespace.Count() > 0

select new { mainNamespace, 

             
// Typically a type in typesOutOfMainNamespace ...
             // 1) ... is contained in the wrong namespace but its source file(s) is stored in the right directory.
             //      --> In such situation the type should be contained in mainNamespace.
             // 2) ... is contained in the right namespace but its source file(s) is stored in the wrong directory
             //      --> In such situation the source file of type must be moved to the parent namespace directory.
             // 3) ... is declared in multiple source files, stored in different directories.
             //      --> It would be preferable that all source files are stored in a single directory.
             typesOutOfMainNamespace   }

10 namespaces matched

namespacestypesOutOfMainNamespaceFull Name
Poco4 typesPoco
15 types
11 types
3 types
Poco.Net3 typesPoco.Net
Poco.Net7 typesPoco.Net
Poco.JSON4 typesPoco.JSON
Poco.Data4 typesPoco.Data
Poco.Crypto2 typesPoco.Crypto
Poco.Crypto.anonymous_namespace{cipherimpl.cpp}2 typesPoco.Crypto.anonymous_namespace{cipherimpl.cpp}

Statistics

Stat   typesOutOfMainNamespace
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Types declared in the same namespace, should have their source files stored in the same directory
// <Name>Types declared in the same namespace, should have their source files stored in the same directory</Name>
warnif count > 0 
from @namespace in Application.Namespaces

// Group types of @namespace in a lookup 
// where groups are keyed with directories that contain the types' source file(s).
// Note that a type can be contained in several groups 
// if it is declared in several source files stored in different directories.
let lookup = @namespace.ChildTypes.Where(t => !t.IsGlobal && JustMyCode.Contains(t))
            
.ToMultiKeyLookup(
               
t => t.SourceDecls.Select(
                          
decl => decl.SourceFile.FilePath.ParentDirectoryPath).Distinct()
            
)

// Are types of @namespaces declared in more than one directory?
where lookup.Count > 1

// Infer the main directory, preferably the one that has the same name as the namespace.
let dirs = lookup.Select(types => types.Key)
let mainDirNullable = dirs.Where(d => d.DirectoryName == @namespace.SimpleName).FirstOrDefault()
let mainDir = mainDirNullable ?? dirs.First()

// Types declared out of mainDir, are types in group of types declared in a directory different than mainDir!
let typesDeclaredOutOfMainDir = lookup.Where(types => types.Key != mainDir)
                                
.SelectMany(types => types)
                                
                                
// Filter types declared on several source files that contain generated methods 
                                // because typically such type contains one or several partial definitions generated.
                                // These partially generated types would be false positive for the present rule.
                                .Where(t => t.SourceDecls.Count() == 1 ||
                                            
t.Methods.Count(m => JustMyCode.Contains(m)) == 0)

where typesDeclaredOutOfMainDir.Count() > 0

select new { @namespace, 

             
// Typically a type in typesDeclaredOutOfMainDir ...
             // 1) ... is contained in the wrong namespace but its source file(s) is stored in the right directory.
             //      --> In such situation the type parent namespace should be the namespace corresponding to the directory.
             // 2) ... is contained in the right namespace but its source file(s) is stored in the wrong directory
             //      --> In such situation the type source file should be moved to mainDir.
             // 3) ... is declared in multiple source files, stored in different directories.
             //      --> It would be preferable that all source files are stored in a single directory.
             typesDeclaredOutOfMainDir , 

             
mainDir = mainDir.ToString() }

6 namespaces matched

namespacestypesDeclaredOutOfMainDirmainDirFull Name
39 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\Poco
Poco11 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Foundation\include\PocoPoco
29 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\XML
Poco.XML75 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\XML\include\Poco\XMLPoco.XML
Poco.Net16 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\Net\include\Poco\NetPoco.Net
Poco.JSON10 typesC:\Users\MacBook Pro\Downloads\poco-develop\poco-develop\JSON\include\Poco\JSONPoco.JSON

Statistics

Stat   typesDeclaredOutOfMainDir   mainDir
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00

Object Oriented Design

Base class should not use derivatives
// <Name>Base class should not use derivatives</Name>
warnif count > 0 
from baseClass in JustMyCode.Types
where baseClass.IsClass && baseClass.NbChildren > 0 // <-- for optimization!
let derivedClassesUsed = baseClass.DerivedTypes.UsedBy(baseClass)
where derivedClassesUsed.Count() > 0
select new { baseClass, derivedClassesUsed }

6 types matched

typesderivedClassesUsedFull Name
Node1 typePoco.XML.Node
AbstractNode3 typesPoco.XML.AbstractNode
AbstractContainerNode2 typesPoco.XML.AbstractContainerNode
Symbol1 typePoco.CppParser.Symbol
SocketImpl1 typePoco.Net.SocketImpl
Document1 typePoco.MongoDB.Document

Statistics

Stat   derivedClassesUsed
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
Class shouldn't be too deep in inheritance tree
// <Name>Class shouldn't be too deep in inheritance tree</Name>
warnif count > 0 from t in JustMyCode.Types 
where t.IsClass
let baseClasses = t.BaseClasses.ExceptThirdParty()

// Warn for classes with 3 or more base classes.
// Notice that we don't count third-party classes 
// because this rule concerns your code design,
// not third-party libraries consumed design.
where baseClasses.Count() >= 3

select new { t, baseClasses, 
                
// The metric value DepthOfInheritance takes account
                // of third-party base classes
                t.DepthOfInheritance } 

// Branches too long in the derivation should be avoided.
// See the definition of the DepthOfInheritance metric here 
// http://www.cppdepend.com/Metrics.aspx#DIT

131 types matched

typesbaseClassesDepth of inheritanceFull Name
DataFormatException3 types4Poco.DataFormatException
SyntaxException3 types4Poco.SyntaxException
CircularReferenceException3 types4Poco.CircularReferenceException
PathSyntaxException4 types5Poco.PathSyntaxException
ProtocolException3 types4Poco.ProtocolException
FileException3 types4Poco.FileException
FileExistsException4 types5Poco.FileExistsException
FileNotFoundException4 types5Poco.FileNotFoundException
PathNotFoundException4 types5Poco.PathNotFoundException
FileReadOnlyException4 types5Poco.FileReadOnlyException
FileAccessDeniedException4 types5Poco.FileAccessDeniedException
CreateFileException4 types5Poco.CreateFileException
OpenFileException4 types5Poco.OpenFileException
WriteFileException4 types5Poco.WriteFileException
ReadFileException4 types5Poco.ReadFileException
ActiveRunnable<ResultType,ArgType,OwnerType>3 types2Poco.ActiveRunnable<ResultType,ArgType,OwnerType>
ActiveRunnable<void,type-parameter-0-0,type-parameter-0-1>3 types2Poco.ActiveRunnable<void,type-parameter-0-0,type-parameter-0-1>
ActiveRunnable<type-parameter-0-0,void,type-parameter-0-1>3 types2Poco.ActiveRunnable<type-parameter-0-0,void,type-parameter-0-1>
ActiveRunnable<void,void,type-parameter-0-0>3 types2Poco.ActiveRunnable<void,void,type-parameter-0-0>
AsyncChannel4 types2Poco.AsyncChannel
ConsoleChannel3 types2Poco.ConsoleChannel
ColorConsoleChannel3 types2Poco.ColorConsoleChannel
EventLogChannel3 types2Poco.EventLogChannel
FileChannel3 types2Poco.FileChannel
FormattingChannel3 types2Poco.FormattingChannel
Logger3 types2Poco.Logger
SplitterChannel3 types2Poco.SplitterChannel
NullChannel3 types2Poco.NullChannel
WindowsConsoleChannel3 types2Poco.WindowsConsoleChannel
WindowsColorConsoleChannel3 types2Poco.WindowsColorConsoleChannel
PatternFormatter3 types2Poco.PatternFormatter
SimpleFileChannel3 types2Poco.SimpleFileChannel
StreamChannel3 types2Poco.StreamChannel
TaskStartedNotification3 types3Poco.TaskStartedNotification
TaskCancelledNotification3 types3Poco.TaskCancelledNotification
TaskFinishedNotification3 types3Poco.TaskFinishedNotification
TaskFailedNotification3 types3Poco.TaskFailedNotification
TaskProgressNotification3 types3Poco.TaskProgressNotification
TaskCustomNotification<C>3 types3Poco.TaskCustomNotification<C>
SAXException3 types4Poco.XML.SAXException
SAXNotRecognizedException4 types5Poco.XML.SAXNotRecognizedException
SAXNotSupportedException4 types5Poco.XML.SAXNotSupportedException
SAXParseException4 types5Poco.XML.SAXParseException
XMLWriter3 types1Poco.XML.XMLWriter
DefaultHandler4 types1Poco.XML.DefaultHandler
XMLFilterImpl6 types2Poco.XML.XMLFilterImpl
WhitespaceFilter8 types3Poco.XML.WhitespaceFilter
AbstractNode3 types3Poco.XML.AbstractNode
AbstractContainerNode4 types4Poco.XML.AbstractContainerNode
Element5 types5Poco.XML.Element
Document6 types5Poco.XML.Document
Attr4 types4Poco.XML.Attr
DOMException3 types4Poco.XML.DOMException
EventException3 types4Poco.XML.EventException
CharacterData4 types4Poco.XML.CharacterData
Text5 types5Poco.XML.Text
CDATASection6 types6Poco.XML.CDATASection
Comment5 types5Poco.XML.Comment
DocumentType5 types5Poco.XML.DocumentType
DocumentFragment5 types5Poco.XML.DocumentFragment
ProcessingInstruction4 types4Poco.XML.ProcessingInstruction
EntityReference4 types4Poco.XML.EntityReference
Entity5 types5Poco.XML.Entity
Notation4 types4Poco.XML.Notation
DOMBuilder3 types1Poco.XML.DOMBuilder
NetException3 types4Poco.Net.NetException
InvalidAddressException4 types5Poco.Net.InvalidAddressException
InvalidSocketException4 types5Poco.Net.InvalidSocketException
ServiceNotFoundException4 types5Poco.Net.ServiceNotFoundException
ConnectionAbortedException4 types5Poco.Net.ConnectionAbortedException
ConnectionResetException4 types5Poco.Net.ConnectionResetException
ConnectionRefusedException4 types5Poco.Net.ConnectionRefusedException
DNSException4 types5Poco.Net.DNSException
HostNotFoundException5 types6Poco.Net.HostNotFoundException
NoAddressFoundException5 types6Poco.Net.NoAddressFoundException
InterfaceNotFoundException4 types5Poco.Net.InterfaceNotFoundException
NoMessageException4 types5Poco.Net.NoMessageException
MessageException4 types5Poco.Net.MessageException
MultipartException5 types6Poco.Net.MultipartException
HTTPException4 types5Poco.Net.HTTPException
NotAuthenticatedException5 types6Poco.Net.NotAuthenticatedException
UnsupportedRedirectException5 types6Poco.Net.UnsupportedRedirectException
FTPException4 types5Poco.Net.FTPException
SMTPException4 types5Poco.Net.SMTPException
POP3Exception4 types5Poco.Net.POP3Exception
ICMPException4 types5Poco.Net.ICMPException
NTPException4 types5Poco.Net.NTPException
HTMLFormException4 types5Poco.Net.HTMLFormException
WebSocketException4 types5Poco.Net.WebSocketException
UnsupportedFamilyException4 types5Poco.Net.UnsupportedFamilyException
HTTPRequest3 types3Poco.Net.HTTPRequest
HTTPResponse3 types3Poco.Net.HTTPResponse
HTTPServerRequest4 types4Poco.Net.HTTPServerRequest
HTTPServerResponse4 types4Poco.Net.HTTPServerResponse
HTTPServerResponseImpl5 types5Poco.Net.HTTPServerResponseImpl
HTTPServerRequestImpl5 types5Poco.Net.HTTPServerRequestImpl
ReadableNotification3 types3Poco.Net.ReadableNotification
WritableNotification3 types3Poco.Net.WritableNotification
ErrorNotification3 types3Poco.Net.ErrorNotification
TimeoutNotification3 types3Poco.Net.TimeoutNotification

Statistics

Stat   baseClasses   Depth of inheritance
Sum:0527
Average:04.02
Minimum:01
Maximum:06
Standard deviation:01.33
Variance:01.78
Constructor should not call a virtual methods
// <Name>Constructor should not call a virtual methods</Name>

// Returns constructor of a non-sealed type calling virtual methods.
// In such a situation, if a derived class overrides the method,
// then the override method will be called before the derived constructor.
// This makes the class fragile to derive from.
//
// Violations reported can be solved by re-designing object initialisation
// or by marking the parent class as sealed, if possible.

warnif count > 0
from t in Application.Types where 
   
t.IsClass &&
  
!t.IsGeneratedByCompiler

from ctor in t.Constructors 
let virtualMethodsCalled = from mCalled in ctor.MethodsCalled
                           
where mCalled.IsVirtual &&
                                
(mCalled.ParentType == t ||
                                 
t.DeriveFrom(mCalled.ParentType))
                           
select mCalled
where virtualMethodsCalled.Count() > 0

select new { ctor , 
             
virtualMethodsCalled, 
             
// If there is no derived type, it might be 
             // an opportunity to mark t as sealed.
             t.DerivedTypes }

36 methods matched

methodsvirtualMethodsCalledDerivedTypesFull Name
Exception(conststd::string&,constPoco::Exception&,int)1 method100 typesPoco.Exception.Exception(conststd::string&,constPoco::Exception&,int)
Exception(constPoco::Exception&)1 method100 typesPoco.Exception.Exception(constPoco::Exception&)
Any(constPoco::Any&)1 method0 typePoco.Any.Any(constPoco::Any&)
LogFileImpl(conststd::string&)1 method1 typePoco.LogFileImpl.LogFileImpl(conststd::string&)
TaskFailedNotification(Poco::Task*,constPoco::Exception&)1 method0 typePoco.TaskFailedNotification.TaskFailedNotification(Poco::Task* ,constPoco::Exception&)
Var(constPoco::Dynamic::Var&)1 method0 typePoco.Dynamic.Var.Var(constPoco::Dynamic::Var&)
LocatorImpl(constPoco::XML::Locator&)4 methods0 typePoco.XML.LocatorImpl.LocatorImpl(constPoco::XML::Locator&)
SAXParseException(conststd::string&,constPoco::XML::Locator&)4 methods0 typePoco.XML.SAXParseException.SAXParseException(conststd::string& ,constPoco::XML::Locator&)
SAXParseException(conststd::string&,constPoco::XML::Locator& ,constPoco::Exception&)4 methods0 typePoco.XML.SAXParseException.SAXParseException(conststd::string& ,constPoco::XML::Locator&,constPoco::Exception&)
DOMBuilder(Poco::XML::XMLReader&,Poco::XML::NamePool*)3 methods0 typePoco.XML.DOMBuilder.DOMBuilder(Poco::XML::XMLReader& ,Poco::XML::NamePool*)
ServerSocket(constPoco::Net::SocketAddress&,int)2 methods1 typePoco.Net.ServerSocket.ServerSocket(constPoco::Net::SocketAddress&,int)
ServerSocket(Poco::UInt16,int)2 methods1 typePoco.Net.ServerSocket.ServerSocket(Poco::UInt16,int)
StreamSocketImpl(IPAddress::Family)1 method2 typesPoco.Net.StreamSocketImpl.StreamSocketImpl(IPAddress::Family)
ICMPSocketImpl(IPAddress::Family,int,int,int)1 method0 typePoco.Net.ICMPSocketImpl.ICMPSocketImpl(IPAddress::Family,int,int,int)
IncludePart(constPoco::Path&,constPoco::Path&)1 method0 typePoco.JSON.IncludePart.IncludePart(constPoco::Path&,constPoco::Path&)
StatementImpl(Poco::Data::SessionImpl&)1 method0 typePoco.Data.StatementImpl.StatementImpl(Poco::Data::SessionImpl&)
SimpleRowFormatter(constPoco::Data::SimpleRowFormatter&)2 methods0 typePoco.Data.SimpleRowFormatter.SimpleRowFormatter (constPoco::Data::SimpleRowFormatter&)
CryptoStreamBuf(std::istream&,Poco::Crypto::CryptoTransform* ,std::streamsize)1 method0 typePoco.Crypto.CryptoStreamBuf.CryptoStreamBuf(std::istream& ,Poco::Crypto::CryptoTransform*,std::streamsize)
CryptoStreamBuf(std::ostream&,Poco::Crypto::CryptoTransform* ,std::streamsize)1 method0 typePoco.Crypto.CryptoStreamBuf.CryptoStreamBuf(std::ostream& ,Poco::Crypto::CryptoTransform*,std::streamsize)
CryptoInputStream(std::istream&,Poco::Crypto::Cipher&,std::streamsize)1 method0 typePoco.Crypto.CryptoInputStream.CryptoInputStream(std::istream& ,Poco::Crypto::Cipher&,std::streamsize)
CryptoOutputStream(std::ostream&,Poco::Crypto::Cipher&,std::streamsize )1 method0 typePoco.Crypto.CryptoOutputStream.CryptoOutputStream(std::ostream& ,Poco::Crypto::Cipher&,std::streamsize)
DecryptingInputStream(std::istream&,Poco::Crypto::Cipher& ,std::streamsize)1 method0 typePoco.Crypto.DecryptingInputStream.DecryptingInputStream(std::istream& ,Poco::Crypto::Cipher&,std::streamsize)
DecryptingOutputStream(std::ostream&,Poco::Crypto::Cipher& ,std::streamsize)1 method0 typePoco.Crypto.DecryptingOutputStream.DecryptingOutputStream (std::ostream&,Poco::Crypto::Cipher&,std::streamsize)
EncryptingInputStream(std::istream&,Poco::Crypto::Cipher& ,std::streamsize)1 method0 typePoco.Crypto.EncryptingInputStream.EncryptingInputStream(std::istream& ,Poco::Crypto::Cipher&,std::streamsize)
EncryptingOutputStream(std::ostream&,Poco::Crypto::Cipher& ,std::streamsize)1 method0 typePoco.Crypto.EncryptingOutputStream.EncryptingOutputStream (std::ostream&,Poco::Crypto::Cipher&,std::streamsize)
InvalidCertificateHandler(bool)1 method3 typesPoco.Net.InvalidCertificateHandler.InvalidCertificateHandler(bool)
Context(Poco::Net::Context::Usage,conststd::string&,conststd::string& ,conststd::string&,Poco::Net::Context::VerificationMode,int,bool ,conststd::string&)1 method0 typePoco.Net.Context.Context(Poco::Net::Context::Usage,conststd::string& ,conststd::string&,conststd::string& ,Poco::Net::Context::VerificationMode,int,bool,conststd::string&)
Context(Poco::Net::Context::Usage,conststd::string& ,Poco::Net::Context::VerificationMode,int,bool,conststd::string&)1 method0 typePoco.Net.Context.Context(Poco::Net::Context::Usage,conststd::string& ,Poco::Net::Context::VerificationMode,int,bool,conststd::string&)
PrivateKeyPassphraseHandler(bool)1 method2 typesPoco.Net.PrivateKeyPassphraseHandler.PrivateKeyPassphraseHandler(bool)
HTTPSClientSession(conststd::string&,Poco::UInt16)1 method0 typePoco.Net.HTTPSClientSession.HTTPSClientSession(conststd::string& ,Poco::UInt16)
HTTPSClientSession(conststd::string&,Poco::UInt16,Context::Ptr)1 method0 typePoco.Net.HTTPSClientSession.HTTPSClientSession(conststd::string& ,Poco::UInt16,Context::Ptr)
HTTPSClientSession(conststd::string&,Poco::UInt16,Context::Ptr ,Session::Ptr)1 method0 typePoco.Net.HTTPSClientSession.HTTPSClientSession(conststd::string& ,Poco::UInt16,Context::Ptr,Session::Ptr)
SecureServerSocket(constPoco::Net::SocketAddress&,int)2 methods0 typePoco.Net.SecureServerSocket.SecureServerSocket (constPoco::Net::SocketAddress&,int)
SecureServerSocket(constPoco::Net::SocketAddress&,int,Context::Ptr)2 methods0 typePoco.Net.SecureServerSocket.SecureServerSocket (constPoco::Net::SocketAddress&,int,Context::Ptr)
SecureServerSocket(Poco::UInt16,int)2 methods0 typePoco.Net.SecureServerSocket.SecureServerSocket(Poco::UInt16,int)
SecureServerSocket(Poco::UInt16,int,Context::Ptr)2 methods0 typePoco.Net.SecureServerSocket.SecureServerSocket(Poco::UInt16,int ,Context::Ptr)

Statistics

Stat   virtualMethodsCalled   DerivedTypes
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00
Avoid the Singleton pattern
//<Name>Avoid the Singleton pattern</Name>
warnif count > 0
from t in Application.Types
where !t.IsStatic && !t.IsAbstract && (t.IsClass || t.IsStructure)

// All ctors of a singleton are private
where t.Constructors.Where(ctor => !ctor.IsPrivate).Count() == 0

// A singleton contains one static field of its parent type, to reference the unique instance
let staticFieldInstances = t.StaticFields.WithFieldType(t)
where staticFieldInstances.Count() == 1
select new { t, staticFieldInstance = staticFieldInstances.First() }

// The Singleton pattern consists in syntactically enforcing that a class 
// has just one unique instance.
// At first glance, this pattern looks appealing and it is widely used.
// However, we discourage you from using singleton classes because experience
// shows that singletons often result in less testable and less maintainable code.
// More details available in these discussions:
//  http://codebetter.com/patricksmacchia/2011/05/04/back-to-basics-usage-of-static-members/
//  http://adamschepis.com/blog/2011/05/02/im-adam-and-im-a-recovering-singleton-addict/

No types matched

Don't assign static fields from instance methods
// <Name>Don't assign static fields from instance methods</Name>
// Assigning static fields from instance methods leads to
// poorly maintainable and non thread-safe code.
// It is advised to assign static fields inline or from class constructor.
warnif count > 0
from f in Application.Fields where 
  
f.IsStatic &&
 
!f.IsGeneratedByCompiler && !f.IsGlobal
 
let assignedBy = f.MethodsAssigningMe.Where(m => !m.IsStatic)
where assignedBy .Count() > 0
select new { f, assignedBy }

13 fields matched

fieldsassignedByFull Name
IN_ENCODING2 methodsPoco.Base32DecoderBuf.IN_ENCODING
IN_ENCODING_INIT1 methodPoco.Base32DecoderBuf.IN_ENCODING_INIT
SECONDS1 methodPoco.Timespan.SECONDS
MINUTES3 methodsPoco.Timespan.MINUTES
HOURS3 methodsPoco.Timespan.HOURS
DAYS3 methodsPoco.Timespan.DAYS
IN_ENCODING2 methodsPoco.Base64DecoderBuf.IN_ENCODING
IN_ENCODING_INIT1 methodPoco.Base64DecoderBuf.IN_ENCODING_INIT
kMask321 methoddouble_conversion.UInt128.kMask32
PARSE_BUFFER_SIZE2 methodsPoco.XML.ParserEngine.PARSE_BUFFER_SIZE
_asciiClass1 methodPoco.JSON.Parser._asciiClass
_stateTransitionTable1 methodPoco.JSON.Parser._stateTransitionTable
_instance1 methodPoco.JSON.TemplateCache._instance

Statistics

Stat   assignedBy
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
Avoid Abstract Classes with too many methods
// <Name>Avoid Abstract Classes with too many methods</Name>
// An abstract class  should abstract a clear and well-defined concept.
// Such concept shoudln't be represented with too many methods and property getter.
warnif count > 0 from t in JustMyCode.Types where 
  
t.IsAbstract
let methodsAndGetters = t.Methods
where methodsAndGetters.Count() > 10
select new { t, methodsAndGetters }

21 types matched

typesmethodsAndGettersFull Name
TextEncoding17 methodsPoco.TextEncoding
DigestEngine11 methodsPoco.DigestEngine
Task16 methodsPoco.Task
VarHolder43 methodsPoco.Dynamic.VarHolder
Attributes14 methodsPoco.XML.Attributes
ContentHandler13 methodsPoco.XML.ContentHandler
XMLReader18 methodsPoco.XML.XMLReader
Node30 methodsPoco.XML.Node
AbstractNode45 methodsPoco.XML.AbstractNode
Symbol31 methodsPoco.CppParser.Symbol
ICMPPacketImpl16 methodsPoco.Net.ICMPPacketImpl
IPAddressImpl25 methodsPoco.Net.Impl.IPAddressImpl
Handler18 methodsPoco.JSON.Handler
AbstractBinder93 methodsPoco.Data.AbstractBinder
AbstractBinding13 methodsPoco.Data.AbstractBinding
AbstractExtractor93 methodsPoco.Data.AbstractExtractor
AbstractPreparator95 methodsPoco.Data.AbstractPreparator
AbstractExtraction24 methodsPoco.Data.AbstractExtraction
SessionImpl29 methodsPoco.Data.SessionImpl
StatementImpl67 methodsPoco.Data.StatementImpl
ArchiveStrategy17 methodsPoco.Data.ArchiveStrategy

Statistics

Stat   methodsAndGetters
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0

API Breaking Changes

API Breaking Changes: Types
// <Name>API Breaking Changes: Types</Name>
// This rule warns if a publicly visible type is 
// not publicly visible anymore or if it has been removed.
// Such type can break the code of your clients.

warnif count > 0 from t in codeBase.OlderVersion().Application.Types
where t.IsPublic && 

     
// The type has been removed and its parent project hasn't been removed ...
     ( (t.WasRemoved() && !t.ParentProject.WasRemoved()) ||

     
// ... or the type is not publicly visible anymore
       !t.WasRemoved() && !t.NewerVersion().IsPublic)

select new { t,
             
NewVisibility = (t.WasRemoved() ? " " : t.NewerVersion().Visibility.ToString()) }

No types matched

API Breaking Changes: Methods
// <Name>API Breaking Changes: Methods</Name>
// This rule warns if a publicly visible method is 
// not publicly visible anymore or if it has been removed.
// Such method can break the code of your clients.

warnif count > 0 from m in codeBase.OlderVersion().Application.Methods
where m.IsPublic && 

     
// The method has been removed and its parent type hasn't been removed ...
     ( (m.WasRemoved() && !m.ParentType.WasRemoved()) ||

     
// ... or the method is not publicly visible anymore
       !m.WasRemoved() && !m.NewerVersion().IsPublic)

select new { m,
             
NewVisibility = (m.WasRemoved() ? " " : m.NewerVersion().Visibility.ToString()) }

No methods matched

API Breaking Changes: Fields
// <Name>API Breaking Changes: Fields</Name>
// This rule warns if a publicly visible field is 
// not publicly visible anymore or if it has been removed.
// Such field can break the code of your clients.

warnif count > 0 from f in codeBase.OlderVersion().Application.Fields
where f.IsPublic &&

     
// The field has been removed and its parent type hasn't been removed ...
     ( (f.WasRemoved() && !f.ParentType.WasRemoved()) ||

     
// ... or the field is not publicly visible anymore
       !f.WasRemoved() && !f.NewerVersion().IsPublic)

select new { f,
             
NewVisibility = (f.WasRemoved() ? " " : f.NewerVersion().Visibility.ToString()) }

No fields matched

API Breaking Changes: Interfaces and Abstract Classes
// <Name>API Breaking Changes: Interfaces and Abstract Classes</Name>
// This rule warns if a publicly visible interface or abstract class 
// has been changed and contains new abstract methods or 
// if some abstract methods have been removed.
// This can break the code of clients 
// that implement such interface or derive from such abstract class.

warnif count > 0 from tNewer in Application.Types where 
 
(tNewer.IsInterface || tNewer.IsClass && tNewer.IsAbstract) && 
  
tNewer.IsPublic && 
  
tNewer.IsPresentInBothBuilds()

let tOlder = tNewer.OlderVersion() where tOlder.IsPublic

let methodsRemoved = tOlder.Methods.Where(m => m.IsAbstract && m.WasRemoved())
let methodsAdded = tNewer.Methods.Where(m => m.IsAbstract && m.WasAdded())

where methodsAdded.Count() > 0 || methodsRemoved.Count() > 0
select new { tNewer, methodsAdded, methodsRemoved }

No types matched

Avoid transforming immutable types into mutable types
// <Name>Avoid transforming immutable types into mutable types</Name>

// Immutability is a strong property on a type.
// Breaking immutability can result in serious problem for an algorithm consummer
// that has been written taking account of the type immutability.

// To visualize changes in code, right-click a matched type and select:
//  - Compare older and newer versions of source file
//  - Compare older and newer versions disassembled with Reflector

warnif count > 0 
from t in Application.Types where
  
t.IsPresentInBothBuilds() &&
 
!t.IsStatic &&
 
!t.IsImmutable && 
  
t.OlderVersion().IsImmutable

let mutableFields = from f in t.InstanceFields where !f.IsImmutable select f

select new { t, mutableFields }

No types matched

API: New publicly visible types
// <Name>API: New publicly visible types</Name>
// List types that are new in the public surface of your Projects

from t in Application.Types
where t.IsPublic && 

     
// The type has been removed and its parent project hasn't been removed ...
     ( (t.WasAdded() && !t.ParentProject.WasAdded()) ||

     
// ... or the type existed but was not publicly visible
       !t.WasAdded() && !t.OlderVersion().IsPublic)

select new { t,
             
OldVisibility = (t.WasAdded() ? " " : t.OlderVersion().Visibility.ToString()) }

No types matched

API: New publicly visible methods
// <Name>API: New publicly visible methods</Name>
// List methods that are new in the public surface of your Projects

from m in Application.Methods
where m.IsPublic && 

     
// The method has been removed and its parent project hasn'm been removed ...
     ( (m.WasAdded() && !m.ParentType.WasAdded()) ||

     
// ... or the t existed but was not publicly visible
       !m.WasAdded() && !m.OlderVersion().IsPublic)

select new { m,
             
OldVisibility = (m.WasAdded() ? " " : m.OlderVersion().Visibility.ToString()) }

No methods matched

API: New publicly visible fields
// <Name>API: New publicly visible fields</Name>
// List fields that are new in the public surface of your Projects

from f in Application.Fields
where f.IsPublic && 

     
// The method has been removed and its parent project hasn'f been removed ...
     ( (f.WasAdded() && !f.ParentType.WasAdded()) ||

     
// ... or the t existed but was not publicly visible
       !f.WasAdded() && !f.OlderVersion().IsPublic)

select new { f,
             
OldVisibility = (f.WasAdded() ? " " : f.OlderVersion().Visibility.ToString()) }

No fields matched

Code Diff Summary

New Projects
// <Name>New Projects</Name>
from a in Application.Projects where a.WasAdded()
select new { a, a.NbLinesOfCode }

No projects matched

Projects removed
// <Name>Projects removed</Name>
from a in codeBase.OlderVersion().Application.Projects where a.WasRemoved()
select new { a, a.NbLinesOfCode }

No projects matched

Projects where code was changed
// <Name>Projects where code was changed</Name>
from a in Application.Projects where a.CodeWasChanged()
select new { a, a.NbLinesOfCode, 
             
oldNbLinesOfCode = a.OlderVersion().NbLinesOfCode ,
             
delta = (int) a.NbLinesOfCode - a.OlderVersion().NbLinesOfCode }

No projects matched

New namespaces
// <Name>New namespaces</Name>
from n in Application.Namespaces where 
 
!n.ParentProject.WasAdded() &&
  
n.WasAdded()
select new { n, n.NbLinesOfCode }

No namespaces matched

Namespaces removed
// <Name>Namespaces removed</Name>
from n in codeBase.OlderVersion().Application.Namespaces where 
 
!n.ParentProject.WasRemoved() &&
  
n.WasRemoved()
select new { n, n.NbLinesOfCode }

No namespaces matched

Namespaces where code was changed
// <Name>Namespaces where code was changed</Name>
from n in Application.Namespaces where n.CodeWasChanged()
select new { n, n.NbLinesOfCode, 
             
oldNbLinesOfCode = n.OlderVersion().NbLinesOfCode ,
             
delta = (int) n.NbLinesOfCode - n.OlderVersion().NbLinesOfCode }

No namespaces matched

New types
// <Name>New types</Name>
from t in Application.Types where 
 
!t.ParentNamespace.WasAdded() &&
  
t.WasAdded()
select new { t, t.NbLinesOfCode }

No types matched

Types removed
// <Name>Types removed</Name>
from t in codeBase.OlderVersion().Application.Types where 
 
!t.ParentNamespace.WasRemoved() &&
  
t.WasRemoved()
select new { t, t.NbLinesOfCode }

No types matched

Types where code was changed
// <Name>Types where code was changed</Name>
// To visualize changes in code, right-click a matched type and select:
//  - Compare older and newer versions of source file
//  - Compare older and newer versions disassembled with Reflector

from t in Application.Types where t.CodeWasChanged() 
//select new { t, t.NbLinesOfCode }
select new { t, t.NbLinesOfCode, 
             
oldNbLinesOfCode = t.OlderVersion().NbLinesOfCode ,
             
delta = (int?) t.NbLinesOfCode - t.OlderVersion().NbLinesOfCode } 
/*from t in Application.Types where t.CodeWasChanged() && t.IsPresentInBothBuild
select new { t, t.NbLinesOfCode, 
             oldNbLinesOfCode = t.OlderVersion().NbLinesOfCode ,
             delta = (int) t.NbLinesOfCode - t.OlderVersion().NbLinesOfCode }*/

No types matched

Heuristic to find types moved from one namespace or project to another
// <Name>Heuristic to find types moved from one namespace or project to another</Name>
let typesRemoved = codeBase.OlderVersion().Types.Where(t => t.WasRemoved())
let typesAdded = Types.Where(t => t.WasAdded())

from tMoved in typesAdded.Join(
   
typesRemoved,
   
t => t.Name,
   
t => t.Name,
   
(tNewer, tOlder) => new { tNewer, 
                             
OlderParentNamespace = tOlder.ParentNamespace,
                             
OlderParentproject = tOlder.ParentProject  } ) 
select tMoved

No types matched

Types directly using one or several types changed
// <Name>Types directly using one or several types changed</Name>
let typesChanged = Application.Types.Where(t => t.CodeWasChanged()).ToHashSet()

from t in JustMyCode.Types.UsingAny(typesChanged) where
  
!t.CodeWasChanged() && 
  
!t.WasAdded()
let typesChangedUsed = t.TypesUsed.Intersect(typesChanged) 
select new { t, typesChangedUsed }

No types matched

Types indirectly using one or several types changed
// <Name>Types indirectly using one or several types changed</Name>
let typesChanged = Application.Types.Where(t => t.CodeWasChanged()).ToHashSet()

// 'depth' represents a code metric defined on types using
// directly or indirectly any type where code was changed.
let depth = JustMyCode.Types.DepthOfIsUsingAny(typesChanged) 

from t in depth.DefinitionDomain where
  
!t.CodeWasChanged() && 
  
!t.WasAdded()

let typesChangedDirectlyUsed = t.TypesUsed.Intersect(typesChanged) 
let depthOfUsingTypesChanged = depth[t]
orderby depthOfUsingTypesChanged 

select new { t, depthOfUsingTypesChanged, typesChangedDirectlyUsed }

No types matched

New methods
// <Name>New methods</Name>
from m in Application.Methods where 
 
!m.ParentType.WasAdded() &&
  
m.WasAdded()
select new { m, m.NbLinesOfCode }

No methods matched

Methods removed
// <Name>Methods removed</Name>
from m in codeBase.OlderVersion().Application.Methods where 
 
!m.ParentType.WasRemoved() &&
  
m.WasRemoved()
select new { m, m.NbLinesOfCode }

No methods matched

Methods where code was changed
// <Name>Methods where code was changed</Name>
// To visualize changes in code, right-click a matched method and select:
//  - Compare older and newer versions of source file
//  - Compare older and newer versions disassembled with Reflector

from m in Application.Methods where m.CodeWasChanged()
select new { m, m.NbLinesOfCode, 
             
oldNbLinesOfCode = m.OlderVersion().NbLinesOfCode ,
             
delta = (int?) m.NbLinesOfCode - m.OlderVersion().NbLinesOfCode }

No methods matched

Methods directly calling one or several methods changed
// <Name>Methods directly calling one or several methods changed</Name>
let methodsChanged = Application.Methods.Where(m => m.CodeWasChanged()).ToHashSet()

from m in JustMyCode.Methods.UsingAny(methodsChanged ) where
  
!m.CodeWasChanged() && 
  
!m.WasAdded()
let methodsChangedCalled = m.MethodsCalled.Intersect(methodsChanged) 
select new { m, methodsChangedCalled }

No methods matched

Methods indirectly calling one or several methods changed
// <Name>Methods indirectly calling one or several methods changed</Name>
let methodsChanged = Application.Methods.Where(m => m.CodeWasChanged()).ToHashSet()

// 'depth' represents a code metric defined on methods using
// directly or indirectly any method where code was changed.
let depth = JustMyCode.Methods.DepthOfIsUsingAny(methodsChanged) 

from m in depth.DefinitionDomain where
  
!m.CodeWasChanged() && 
  
!m.WasAdded()

let methodsChangedDirectlyUsed = m.MethodsCalled.Intersect(methodsChanged) 
let depthOfUsingMethodsChanged = depth[m]
orderby depthOfUsingMethodsChanged 

select new { m, depthOfUsingMethodsChanged, methodsChangedDirectlyUsed }

No methods matched

New fields
// <Name>New fields</Name>
from f in Application.Fields where 
 
!f.ParentType.WasAdded() &&
  
f.WasAdded()
select new { f }

No fields matched

Fields removed
// <Name>Fields removed</Name>
from f in codeBase.OlderVersion().Application.Fields where 
 
!f.ParentType.WasRemoved() &&
  
f.WasRemoved()
select new { f }

No fields matched

Third party types that were not used and that are now used
// <Name>Third party types that were not used and that are now used</Name>
from t in ThirdParty.Types where t.IsUsedRecently()
select new { t, t.Methods, t.Fields } 

No types matched

Third party types that were used and that are not used anymore
// <Name>Third party types that were used and that are not used anymore</Name>
from t in codeBase.OlderVersion().Types where t.IsNotUsedAnymore()
select new { t, t.Methods, t.Fields }  

No types matched

Third party methods that were not used and that are now used
// <Name>Third party methods that were not used and that are now used</Name>
from m in ThirdParty.Methods where 
  
m.IsUsedRecently() &&
 
!m.ParentType.IsUsedRecently()
select m

No methods matched

Third party methods that were used and that are not used anymore
// <Name>Third party methods that were used and that are not used anymore</Name>
from m in codeBase.OlderVersion().Methods where 
  
m.IsNotUsedAnymore() &&
 
!m.ParentType.IsNotUsedAnymore()
select m

No methods matched

Third party fields that were not used and that are now used
// <Name>Third party fields that were not used and that are now used</Name>
from f in ThirdParty.Fields where 
  
f.IsUsedRecently() &&
 
!f.ParentType.IsUsedRecently()
select f

No fields matched

Third party fields that were used and that are not used anymore
// <Name>Third party fields that were used and that are not used anymore</Name>
from f in codeBase.OlderVersion().Fields where 
  
f.IsNotUsedAnymore() &&
 
!f.ParentType.IsNotUsedAnymore()
select f

No fields matched

Dead Code

Potentially dead Types
// <Name>Potentially dead Types</Name>
warnif count > 0

let tt=Types.UsedByAny(Application.Methods).ToHashSet()
// Select types unused
let typesUnused = 
   
from t in JustMyCode.Types where
   
t.NbTypesUsingMe == 0 && !t.IsGlobal  select t



from t in typesUnused  where !tt.Contains(t)
select new { t }
        
        

159 types matched

typesFull Name
POCO_STATIC_ASSERTION_FAILURE<true>POCO_STATIC_ASSERTION_FAILURE<true>
POCO_STATIC_ASSERTION_FAILURE<true>+AnonymousEnumPOCO_STATIC_ASSERTION_FAILURE<true>+AnonymousEnum
poco_static_assert_test<x>poco_static_assert_test<x>
gzFile_sgzFile_s
internal_stateinternal_state
AnonymousEnumAnonymousEnum
dfa_match_datadfa_match_data
NullMutexPoco.NullMutex
Base32DecoderPoco.Base32Decoder
Base32EncoderPoco.Base32Encoder
ReleaseArrayPolicy<C>Poco.ReleaseArrayPolicy<C>
ActiveRunnable<void,type-parameter-0-0,type-parameter-0-1>Poco.ActiveRunnable<void,type-parameter-0-0,type-parameter-0-1>
ActiveRunnable<type-parameter-0-0,void,type-parameter-0-1>Poco.ActiveRunnable<type-parameter-0-0,void,type-parameter-0-1>
ActiveRunnable<void,void,type-parameter-0-0>Poco.ActiveRunnable<void,void,type-parameter-0-0>
ThreadImpl+PolicyPoco.ThreadImpl+Policy
ActiveStarter<OwnerType>Poco.ActiveStarter<OwnerType>
NotificationStrategy<void,type-parameter-0-0>Poco.NotificationStrategy<void,type-parameter-0-0>
DefaultStrategy<void,type-parameter-0-0>Poco.DefaultStrategy<void,type-parameter-0-0>
AbstractDelegate<TArgs>Poco.AbstractDelegate<TArgs>
AbstractDelegate<void>Poco.AbstractDelegate<void>
IsReference<T>Poco.IsReference<T>
IsReference<T>+AnonymousEnumPoco.IsReference<T>+AnonymousEnum
IsReference<type-parameter-0-0&>Poco.IsReference<type-parameter-0-0&>
IsReference<type-parameter-0-0&>+AnonymousEnumPoco.IsReference<type-parameter-0-0&>+AnonymousEnum
IsReference<consttype-parameter-0-0&>Poco.IsReference<consttype-parameter-0-0&>
IsReference<consttype-parameter-0-0&>+AnonymousEnumPoco.IsReference<consttype-parameter-0-0&>+AnonymousEnum
IsConst<T>Poco.IsConst<T>
IsConst<T>+AnonymousEnumPoco.IsConst<T>+AnonymousEnum
IsConst<consttype-parameter-0-0&>Poco.IsConst<consttype-parameter-0-0&>
IsConst<consttype-parameter-0-0&>+AnonymousEnumPoco.IsConst<consttype-parameter-0-0&>+AnonymousEnum
IsConst<consttype-parameter-0-0>Poco.IsConst<consttype-parameter-0-0>
IsConst<consttype-parameter-0-0>+AnonymousEnumPoco.IsConst<consttype-parameter-0-0>+AnonymousEnum
IsConst<type-parameter-0-0const[i]>Poco.IsConst<type-parameter-0-0const[i]>
IsConst<type-parameter-0-0const[i]>+AnonymousEnumPoco.IsConst<type-parameter-0-0const[i]>+AnonymousEnum
TypeWrapper<T>Poco.TypeWrapper<T>
TypeWrapper<consttype-parameter-0-0>Poco.TypeWrapper<consttype-parameter-0-0>
TypeWrapper<consttype-parameter-0-0&>Poco.TypeWrapper<consttype-parameter-0-0&>
TypeWrapper<type-parameter-0-0&>Poco.TypeWrapper<type-parameter-0-0&>
BufferAllocator<ch>Poco.BufferAllocator<ch>
TextEncoding+AnonymousEnumPoco.TextEncoding+AnonymousEnum
CILessPoco.CILess
NDCScopePoco.NDCScope
ChildrenFirstTraversePoco.ChildrenFirstTraverse
DateTime+MonthsPoco.DateTime+Months
DeflatingInputStreamPoco.DeflatingInputStream
InflatingOutputStreamPoco.InflatingOutputStream
InflatingInputStreamPoco.InflatingInputStream
InputLineEndingConverterPoco.InputLineEndingConverter
OutputLineEndingConverterPoco.OutputLineEndingConverter
TeeInputStreamPoco.TeeInputStream
TeeOutputStreamPoco.TeeOutputStream
ScopedReadRWLockPoco.ScopedReadRWLock
ScopedWriteRWLockPoco.ScopedWriteRWLock
SemaphorePoco.Semaphore
DigestInputStreamPoco.DigestInputStream
DigestOutputStreamPoco.DigestOutputStream
Random+TypePoco.Random+Type
MetaObject<C,B>Poco.MetaObject<C,B>
SharedLibraryPoco.SharedLibrary
SharedLibrary+FlagsPoco.SharedLibrary+Flags
NamedMutexPoco.NamedMutex
PipeOutputStreamPoco.PipeOutputStream
PipeInputStreamPoco.PipeInputStream
InputStreamConverterPoco.InputStreamConverter
EventArgsPoco.EventArgs
Hash<T>Poco.Hash<T>
VarHolderImpl<signedchar>Poco.Dynamic.VarHolderImpl<signedchar>
VarHolderImpl<bool>Poco.Dynamic.VarHolderImpl<bool>
VarHolderImpl<char>Poco.Dynamic.VarHolderImpl<char>
VarHolderImpl<Poco::DateTime>Poco.Dynamic.VarHolderImpl<Poco::DateTime>
VarHolderImpl<Poco::LocalDateTime>Poco.Dynamic.VarHolderImpl<Poco::LocalDateTime>
VarHolderImpl<Poco::Timestamp>Poco.Dynamic.VarHolderImpl<Poco::Timestamp>
XML_FeatureXML_Feature
DefaultHandlerPoco.XML.DefaultHandler
Utility+FwdDeclBlockPoco.CppParser.Utility+FwdDeclBlock
BuiltInPoco.CppParser.BuiltIn
SocketAddress+AnonymousEnumPoco.Net.SocketAddress+AnonymousEnum
IPAddress+AnonymousEnumPoco.Net.IPAddress+AnonymousEnum
NetworkInterface+AddressTypePoco.Net.NetworkInterface+AddressType
SocketAddress+AnonymousPoco.Net.SocketAddress+Anonymous
StreamSocket+AnonymousEnumPoco.Net.StreamSocket+AnonymousEnum
FilePartStoreFactoryPoco.Net.FilePartStoreFactory
TCPServerConnectionFactoryImpl<S>Poco.Net.TCPServerConnectionFactoryImpl<S>
HTTPStreamFactory+AnonymousEnumPoco.Net.HTTPStreamFactory+AnonymousEnum
SMTPClientSession+AnonymousEnumPoco.Net.SMTPClientSession+AnonymousEnum
ElementComparatorPoco.MongoDB.ElementComparator
ElementTraits<T>Poco.MongoDB.ElementTraits<T>
ElementTraits<double>Poco.MongoDB.ElementTraits<double>
ElementTraits<std::basic_string<char,std::char_traits<char> ,std::allocator<char>>>Poco.MongoDB.ElementTraits<std::basic_string<char,std::char_traits <char>,std::allocator<char>>>
ElementTraits<std::basic_string<char,std::char_traits<char> ,std::allocator<char>>>+AnonymousEnumPoco.MongoDB.ElementTraits<std::basic_string<char,std::char_traits <char>,std::allocator<char>>>+AnonymousEnum
ElementTraits<bool>Poco.MongoDB.ElementTraits<bool>
ElementTraits<bool>+AnonymousEnumPoco.MongoDB.ElementTraits<bool>+AnonymousEnum
ElementTraits<int>Poco.MongoDB.ElementTraits<int>
ElementTraits<int>+AnonymousEnumPoco.MongoDB.ElementTraits<int>+AnonymousEnum
ElementTraits<Poco::Timestamp>Poco.MongoDB.ElementTraits<Poco::Timestamp>
ElementTraits<Poco::Timestamp>+AnonymousEnumPoco.MongoDB.ElementTraits<Poco::Timestamp>+AnonymousEnum
ElementTraits<Poco::Nullable<unsignedchar>>Poco.MongoDB.ElementTraits<Poco::Nullable<unsignedchar>>
ElementTraits<Poco::Nullable<unsignedchar>>+AnonymousEnumPoco.MongoDB.ElementTraits<Poco::Nullable<unsignedchar>>+AnonymousEnum
ElementTraits<longlong>Poco.MongoDB.ElementTraits<longlong>
ElementTraits<longlong>+AnonymousEnumPoco.MongoDB.ElementTraits<longlong>+AnonymousEnum

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:
Potentially dead Methods
// <Name>Potentially dead Methods</Name>
warnif count > 0
// Filter procedure for methods that should'nt be considered as dead
let canMethodBeConsideredAsDeadProc = new Func<IMethod, bool>(
    
m => !m.IsPublic &&       // Public methods might be used by client applications of your Projects.
         !m.IsEntryPoint &&            // Main() method is not used by-design.
         !m.IsClassConstructor &&      
         
!m.IsVirtual &&               // Only check for non virtual method that are not seen as used in IL.
         !(m.IsConstructor &&          // Don't take account of protected ctor that might be call by a derived ctors.
           m.IsProtected) &&
         
!m.NameLike (@"^On") &&        //Exclude Events like MFC ones
         !m.IsGeneratedByCompiler
)

// Get methods unused
let methodsUnused = 
   
from m in JustMyCode.Methods where 
   
m.NbMethodsCallingMe == 0 && 
   
canMethodBeConsideredAsDeadProc(m)
   
select m

// Dead methods = methods used only by unused methods (recursive)
let deadMethodsMetric = methodsUnused.FillIterative(
   
methods => // Unique loop, just to let a chance to build the hashset.
              from o in new[] { new object() }
              
// Use a hashet to make Intersect calls much faster!
              let hashset = methods.ToHashSet()
              
from m in codeBase.Application.Methods.UsedByAny(methods).Except(methods)
              
where canMethodBeConsideredAsDeadProc(m) &&
                    
// Select methods called only by methods already considered as dead
                    hashset.Intersect(m.MethodsCallingMe).Count() == m.NbMethodsCallingMe
              
select m)

from m in JustMyCode.Methods.Intersect(deadMethodsMetric.DefinitionDomain)
select new { m, m.MethodsCallingMe, depth = deadMethodsMetric[m] }

722 methods matched

methodsMethodsCallingMedepthFull Name
BigitAt(int)0 method0__Globals.BigitAt(int)
Clamp()0 method0__Globals.Clamp()
IsClamped()0 method0__Globals.IsClamped()
Zero()0 method0__Globals.Zero()
Align(constdouble_conversion::Bignum&)0 method0__Globals.Align(constdouble_conversion::Bignum&)
BigitsShiftLeft(int)0 method0__Globals.BigitsShiftLeft(int)
SubtractTimes(constdouble_conversion::Bignum&,int)0 method0__Globals.SubtractTimes(constdouble_conversion::Bignum&,int)
HandleSpecialValues(double,double_conversion::StringBuilder*)0 method0__Globals.HandleSpecialValues(double,double_conversion::StringBuilder* )
CreateExponentialRepresentation(constchar*,int,int ,double_conversion::StringBuilder*)0 method0__Globals.CreateExponentialRepresentation(constchar*,int,int ,double_conversion::StringBuilder*)
CreateDecimalRepresentation(constchar*,int,int,int ,double_conversion::StringBuilder*)0 method0__Globals.CreateDecimalRepresentation(constchar*,int,int,int ,double_conversion::StringBuilder*)
ToShortestIeeeNumber(double,double_conversion::StringBuilder* ,DoubleToStringConverter::DtoaMode)0 method0__Globals.ToShortestIeeeNumber(double ,double_conversion::StringBuilder*,DoubleToStringConverter::DtoaMode)
StringToIeee(constchar*,int,int*,bool)0 method0__Globals.StringToIeee(constchar*,int,int*,bool)
message(conststd::string&)0 method0Poco.Exception.message(conststd::string&)
extendedMessage(conststd::string&)0 method0Poco.Exception.extendedMessage(conststd::string&)
ScopedLock<M>()0 method0Poco.ScopedLock<M>.ScopedLock<M>()
ScopedLock<M>(constScopedLock<M>&)0 method0Poco.ScopedLock<M>.ScopedLock<M>(constScopedLock<M>&)
operator=(constScopedLock<M>&)0 method0Poco.ScopedLock<M>.operator=(constScopedLock<M>&)
ScopedLockWithUnlock<M>()0 method0Poco.ScopedLockWithUnlock<M>.ScopedLockWithUnlock<M>()
ScopedLockWithUnlock<M>(constScopedLockWithUnlock<M>&)0 method0Poco.ScopedLockWithUnlock<M>.ScopedLockWithUnlock<M> (constScopedLockWithUnlock<M>&)
operator=(constScopedLockWithUnlock<M>&)0 method0Poco.ScopedLockWithUnlock<M>.operator=(constScopedLockWithUnlock<M>&)
Mutex(constPoco::Mutex&)0 method0Poco.Mutex.Mutex(constPoco::Mutex&)
operator=(constPoco::Mutex&)0 method0Poco.Mutex.operator=(constPoco::Mutex&)
FastMutex(constPoco::FastMutex&)0 method0Poco.FastMutex.FastMutex(constPoco::FastMutex&)
operator=(constPoco::FastMutex&)0 method0Poco.FastMutex.operator=(constPoco::FastMutex&)
BasicUnbufferedStreamBuf<ch,tr>(constBasicUnbufferedStreamBuf<ch,tr>&)0 method0Poco.BasicUnbufferedStreamBuf<ch,tr>.BasicUnbufferedStreamBuf<ch,tr> (constBasicUnbufferedStreamBuf<ch,tr>&)
operator=(constBasicUnbufferedStreamBuf<ch,tr>&)0 method0Poco.BasicUnbufferedStreamBuf<ch,tr>.operator= (constBasicUnbufferedStreamBuf<ch,tr>&)
readFromDevice()0 method0Poco.Base32DecoderBuf.readFromDevice()
readOne()1 method1Poco.Base32DecoderBuf.readOne()
Base32DecoderBuf(constPoco::Base32DecoderBuf&)0 method0Poco.Base32DecoderBuf.Base32DecoderBuf(constPoco::Base32DecoderBuf&)
operator=(constPoco::Base32DecoderBuf&)0 method0Poco.Base32DecoderBuf.operator=(constPoco::Base32DecoderBuf&)
Base32DecoderIOS(constPoco::Base32DecoderIOS&)0 method0Poco.Base32DecoderIOS.Base32DecoderIOS(constPoco::Base32DecoderIOS&)
operator=(constPoco::Base32DecoderIOS&)0 method0Poco.Base32DecoderIOS.operator=(constPoco::Base32DecoderIOS&)
Base32Decoder(constPoco::Base32Decoder&)0 method0Poco.Base32Decoder.Base32Decoder(constPoco::Base32Decoder&)
operator=(constPoco::Base32Decoder&)0 method0Poco.Base32Decoder.operator=(constPoco::Base32Decoder&)
writeToDevice(char)0 method0Poco.Base32EncoderBuf.writeToDevice(char)
Base32EncoderBuf(constPoco::Base32EncoderBuf&)0 method0Poco.Base32EncoderBuf.Base32EncoderBuf(constPoco::Base32EncoderBuf&)
operator=(constPoco::Base32EncoderBuf&)0 method0Poco.Base32EncoderBuf.operator=(constPoco::Base32EncoderBuf&)
Base32EncoderIOS(constPoco::Base32EncoderIOS&)0 method0Poco.Base32EncoderIOS.Base32EncoderIOS(constPoco::Base32EncoderIOS&)
operator=(constPoco::Base32EncoderIOS&)0 method0Poco.Base32EncoderIOS.operator=(constPoco::Base32EncoderIOS&)
Base32Encoder(constPoco::Base32Encoder&)0 method0Poco.Base32Encoder.Base32Encoder(constPoco::Base32Encoder&)
operator=(constPoco::Base32Encoder&)0 method0Poco.Base32Encoder.operator=(constPoco::Base32Encoder&)
Event(constPoco::Event&)0 method0Poco.Event.Event(constPoco::Event&)
operator=(constPoco::Event&)0 method0Poco.Event.operator=(constPoco::Event&)
RefCountedObject(constPoco::RefCountedObject&)0 method0Poco.RefCountedObject.RefCountedObject(constPoco::RefCountedObject&)
operator=(constPoco::RefCountedObject&)0 method0Poco.RefCountedObject.operator=(constPoco::RefCountedObject&)
~ActiveResultHolder<ResultType>()0 method0Poco.ActiveResultHolder<ResultType>.~ActiveResultHolder<ResultType>()
~ActiveResultHolder()0 method0Poco.ActiveResultHolder<void>.~ActiveResultHolder()
ActiveResult<RT>()0 method0Poco.ActiveResult<RT>.ActiveResult<RT>()
ActiveResult()0 method0Poco.ActiveResult<void>.ActiveResult()
Thread(constPoco::Thread&)0 method0Poco.Thread.Thread(constPoco::Thread&)
operator=(constPoco::Thread&)0 method0Poco.Thread.operator=(constPoco::Thread&)
ThreadPool(constPoco::ThreadPool&)0 method0Poco.ThreadPool.ThreadPool(constPoco::ThreadPool&)
operator=(constPoco::ThreadPool&)0 method0Poco.ThreadPool.operator=(constPoco::ThreadPool&)
ActiveMethod<ResultType,ArgType,OwnerType,StarterType>()0 method0Poco.ActiveMethod<ResultType,ArgType,OwnerType,StarterType,> .ActiveMethod<ResultType,ArgType,OwnerType,StarterType>()
ActiveMethod<type-parameter-0-0,void,type-parameter-0-1 ,type-parameter-0-2>()0 method0Poco.ActiveMethod<type-parameter-0-0,void,type-parameter-0-1 ,type-parameter-0-2>.ActiveMethod<type-parameter-0-0,void ,type-parameter-0-1,type-parameter-0-2>()
AbstractEvent<TArgs,TStrategy,TDelegate,TMutex>(constAbstractEvent <TArgs,TStrategy,TDelegate,TMutex>&)0 method0Poco.AbstractEvent<TArgs,TStrategy,TDelegate,TMutex>.AbstractEvent <TArgs,TStrategy,TDelegate,TMutex>(constAbstractEvent<TArgs,TStrategy ,TDelegate,TMutex>&)
operator=(constAbstractEvent<TArgs,TStrategy,TDelegate,TMutex>&)0 method0Poco.AbstractEvent<TArgs,TStrategy,TDelegate,TMutex>.operator= (constAbstractEvent<TArgs,TStrategy,TDelegate,TMutex>&)
AbstractEvent<void,type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2>(constAbstractEvent<void,type-parameter-0-0 ,type-parameter-0-1,type-parameter-0-2>&)0 method0Poco.AbstractEvent<void,type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2>.AbstractEvent<void,type-parameter-0-0 ,type-parameter-0-1,type-parameter-0-2>(constAbstractEvent<void ,type-parameter-0-0,type-parameter-0-1,type-parameter-0-2>&)
operator=(constAbstractEvent<void,type-parameter-0-0 ,type-parameter-0-1,type-parameter-0-2>&)0 method0Poco.AbstractEvent<void,type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2>.operator=(constAbstractEvent<void ,type-parameter-0-0,type-parameter-0-1,type-parameter-0-2>&)
BasicEvent<TArgs,TMutex>(constBasicEvent<TArgs,TMutex>&)0 method0Poco.BasicEvent<TArgs,TMutex>.BasicEvent<TArgs,TMutex>(constBasicEvent <TArgs,TMutex>&)
operator=(constBasicEvent<TArgs,TMutex>&)0 method0Poco.BasicEvent<TArgs,TMutex>.operator=(constBasicEvent<TArgs,TMutex>& )
stop()0 method0Poco.DirectoryWatcher.stop()
run()0 method0Poco.DirectoryWatcher.run()
DirectoryWatcher()0 method0Poco.DirectoryWatcher.DirectoryWatcher()
DirectoryWatcher(constPoco::DirectoryWatcher&)0 method0Poco.DirectoryWatcher.DirectoryWatcher(constPoco::DirectoryWatcher&)
operator=(constPoco::DirectoryWatcher&)0 method0Poco.DirectoryWatcher.operator=(constPoco::DirectoryWatcher&)
Glob()0 method0Poco.Glob.Glob()
Glob(constPoco::Glob&)0 method0Poco.Glob.Glob(constPoco::Glob&)
operator=(constPoco::Glob&)0 method0Poco.Glob.operator=(constPoco::Glob&)
Buffer<T>()0 method0Poco.Buffer<T>.Buffer<T>()
DirectoryWatcherStrategy()0 method0Poco.DirectoryWatcherStrategy.DirectoryWatcherStrategy()
DirectoryWatcherStrategy(constPoco::DirectoryWatcherStrategy&)0 method0Poco.DirectoryWatcherStrategy.DirectoryWatcherStrategy (constPoco::DirectoryWatcherStrategy&)
operator=(constPoco::DirectoryWatcherStrategy&)0 method0Poco.DirectoryWatcherStrategy.operator= (constPoco::DirectoryWatcherStrategy&)
operator=(constHolder<ValueType>&)0 method0Poco.Any+Holder.operator=(constHolder<ValueType>&)
BasicFIFOBuffer<T>()0 method0Poco.BasicFIFOBuffer<T>.BasicFIFOBuffer<T>()
BasicFIFOBuffer<T>(constBasicFIFOBuffer<T>&)0 method0Poco.BasicFIFOBuffer<T>.BasicFIFOBuffer<T>(constBasicFIFOBuffer<T>&)
operator=(constBasicFIFOBuffer<T>&)0 method0Poco.BasicFIFOBuffer<T>.operator=(constBasicFIFOBuffer<T>&)
BasicBufferedBidirectionalStreamBuf<ch,tr,ba> (constBasicBufferedBidirectionalStreamBuf<ch,tr,ba>&)0 method0Poco.BasicBufferedBidirectionalStreamBuf<ch,tr,ba,> .BasicBufferedBidirectionalStreamBuf<ch,tr,ba> (constBasicBufferedBidirectionalStreamBuf<ch,tr,ba>&)
operator=(constBasicBufferedBidirectionalStreamBuf<ch,tr,ba>&)0 method0Poco.BasicBufferedBidirectionalStreamBuf<ch,tr,ba,>.operator= (constBasicBufferedBidirectionalStreamBuf<ch,tr,ba>&)
readFromDevice(char*,std::streamsize)0 method0Poco.FIFOBufferStreamBuf.readFromDevice(char*,std::streamsize)
writeToDevice(constchar*,std::streamsize)0 method0Poco.FIFOBufferStreamBuf.writeToDevice(constchar*,std::streamsize)
FIFOBufferStream()0 method0Poco.FIFOBufferStream.FIFOBufferStream()
FIFOBufferStream(constPoco::FIFOBufferStream&)0 method0Poco.FIFOBufferStream.FIFOBufferStream(constPoco::FIFOBufferStream&)
operator=(constPoco::FIFOBufferStream&)0 method0Poco.FIFOBufferStream.operator=(constPoco::FIFOBufferStream&)
MemoryPool()0 method0Poco.MemoryPool.MemoryPool()
MemoryPool(constPoco::MemoryPool&)0 method0Poco.MemoryPool.MemoryPool(constPoco::MemoryPool&)
operator=(constPoco::MemoryPool&)0 method0Poco.MemoryPool.operator=(constPoco::MemoryPool&)
TLSSlot<C>(constTLSSlot<C>&)0 method0Poco.TLSSlot<C>.TLSSlot<C>(constTLSSlot<C>&)
operator=(constTLSSlot<C>&)0 method0Poco.TLSSlot<C>.operator=(constTLSSlot<C>&)
ThreadLocal<C>(constThreadLocal<C>&)0 method0Poco.ThreadLocal<C>.ThreadLocal<C>(constThreadLocal<C>&)
operator=(constThreadLocal<C>&)0 method0Poco.ThreadLocal<C>.operator=(constThreadLocal<C>&)
BasicMemoryStreamBuf<ch,tr>()0 method0Poco.BasicMemoryStreamBuf<ch,tr>.BasicMemoryStreamBuf<ch,tr>()
BasicMemoryStreamBuf<ch,tr>(constBasicMemoryStreamBuf<ch,tr>&)0 method0Poco.BasicMemoryStreamBuf<ch,tr>.BasicMemoryStreamBuf<ch,tr> (constBasicMemoryStreamBuf<ch,tr>&)
operator=(constBasicMemoryStreamBuf<ch,tr>&)0 method0Poco.BasicMemoryStreamBuf<ch,tr>.operator=(constBasicMemoryStreamBuf <ch,tr>&)
TraverseBase()0 method0Poco.TraverseBase.TraverseBase()
TraverseBase(constPoco::TraverseBase&)0 method0Poco.TraverseBase.TraverseBase(constPoco::TraverseBase&)
operator=(constPoco::TraverseBase&)0 method0Poco.TraverseBase.operator=(constPoco::TraverseBase&)
ChildrenFirstTraverse()0 method0Poco.ChildrenFirstTraverse.ChildrenFirstTraverse()
ChildrenFirstTraverse(constPoco::ChildrenFirstTraverse&)0 method0Poco.ChildrenFirstTraverse.ChildrenFirstTraverse (constPoco::ChildrenFirstTraverse&)
operator=(constPoco::ChildrenFirstTraverse&)0 method0Poco.ChildrenFirstTraverse.operator=(constPoco::ChildrenFirstTraverse& )

Statistics

Stat   MethodsCallingMe   depth
Sum:027
Average:00.037
Minimum:00
Maximum:02
Standard deviation:00.2
Variance:00.042
Potentially dead Fields
// <Name>Potentially dead Fields</Name>
warnif count > 0
from f in JustMyCode.Fields where
   
f.NbMethodsUsingMe == 0 && 
   
!f.IsPublic &&     // Although not recommended, public fields might be used by client applications of your Projects.
   !f.IsEnumValue   
  
   
// If you don't want to link CppDepend.API.dll, you can use your own IsNotDeadCodeAttribute and adapt this rule.
select f

118 fields matched

fieldsFull Name
_pExcPoco.ActiveResultHolder<void>._pExc
_eventPoco.ActiveResultHolder<void>._event
_pHolderPoco.ActiveResult<void>._pHolder
_pOwnerPoco.ActiveRunnable<void,type-parameter-0-0,type-parameter-0-1> ._pOwner
_methodPoco.ActiveRunnable<void,type-parameter-0-0,type-parameter-0-1> ._method
_argPoco.ActiveRunnable<void,type-parameter-0-0,type-parameter-0-1>._arg
_resultPoco.ActiveRunnable<void,type-parameter-0-0,type-parameter-0-1> ._result
_pOwnerPoco.ActiveRunnable<type-parameter-0-0,void,type-parameter-0-1> ._pOwner
_methodPoco.ActiveRunnable<type-parameter-0-0,void,type-parameter-0-1> ._method
_resultPoco.ActiveRunnable<type-parameter-0-0,void,type-parameter-0-1> ._result
_pOwnerPoco.ActiveRunnable<void,void,type-parameter-0-0>._pOwner
_methodPoco.ActiveRunnable<void,void,type-parameter-0-0>._method
_resultPoco.ActiveRunnable<void,void,type-parameter-0-0>._result
_pOwnerPoco.ActiveMethod<type-parameter-0-0,void,type-parameter-0-1 ,type-parameter-0-2>._pOwner
_methodPoco.ActiveMethod<type-parameter-0-0,void,type-parameter-0-1 ,type-parameter-0-2>._method
_executeAsyncPoco.AbstractEvent<void,type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2>._executeAsync
_strategyPoco.AbstractEvent<void,type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2>._strategy
_enabledPoco.AbstractEvent<void,type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2>._enabled
_mutexPoco.AbstractEvent<void,type-parameter-0-0,type-parameter-0-1 ,type-parameter-0-2>._mutex
_delegatesPoco.DefaultStrategy<void,type-parameter-0-0>._delegates
_valPoco.Dynamic.VarHolderImpl<signedchar>._val
_valPoco.Dynamic.VarHolderImpl<short>._val
_valPoco.Dynamic.VarHolderImpl<int>._val
_valPoco.Dynamic.VarHolderImpl<longlong>._val
_valPoco.Dynamic.VarHolderImpl<unsignedchar>._val
_valPoco.Dynamic.VarHolderImpl<unsignedshort>._val
_valPoco.Dynamic.VarHolderImpl<unsignedint>._val
_valPoco.Dynamic.VarHolderImpl<unsignedlonglong>._val
_valPoco.Dynamic.VarHolderImpl<bool>._val
_valPoco.Dynamic.VarHolderImpl<float>._val
_valPoco.Dynamic.VarHolderImpl<double>._val
_valPoco.Dynamic.VarHolderImpl<char>._val
_valPoco.Dynamic.VarHolderImpl<std::basic_string<char,std::char_traits <char>,std::allocator<char>>>._val
_valPoco.Dynamic.VarHolderImpl<std::basic_string<wchar_t,std::char_traits <wchar_t>,std::allocator<wchar_t>>>._val
_valPoco.Dynamic.VarHolderImpl<long>._val
_valPoco.Dynamic.VarHolderImpl<unsignedlong>._val
_valPoco.Dynamic.VarHolderImpl<vector<type-parameter-0-0,allocator <type-parameter-0-0>>>._val
_valPoco.Dynamic.VarHolderImpl<list<type-parameter-0-0,allocator <type-parameter-0-0>>>._val
_valPoco.Dynamic.VarHolderImpl<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>._val
_valPoco.Dynamic.VarHolderImpl<Poco::DateTime>._val
_valPoco.Dynamic.VarHolderImpl<Poco::LocalDateTime>._val
_valPoco.Dynamic.VarHolderImpl<Poco::Timestamp>._val
_valPoco.Dynamic.VarHolderImpl<Poco::Dynamic::Struct<std::basic_string <char,std::char_traits<char>,std::allocator<char>>>>._val
_valPoco.Dynamic.VarHolderImpl<Poco::Dynamic::Struct<int>>._val
NODE_NAMEPoco.XML.Entity.NODE_NAME
szPoco.Net.SocketAddress.sz
alignerPoco.Net.SocketAddress+Anonymous.aligner
szPoco.Net.IPAddress.sz
alignerPoco.Net.IPAddress+Anonymous.aligner
alignerPoco.Net.SocketAddress+Anonymous.aligner
_flagsPoco.MongoDB.GetMoreRequest._flags
_valPoco.Dynamic.VarHolderImpl<Poco::SharedPtr<Poco::JSON::Array ,Poco::ReferenceCounter,Poco::ReleasePolicy<Poco::JSON::Array>>>._val
_valPoco.Dynamic.VarHolderImpl<Poco::JSON::Array>._val
_valPoco.Dynamic.VarHolderImpl<Poco::SharedPtr<Poco::JSON::Object ,Poco::ReferenceCounter,Poco::ReleasePolicy<Poco::JSON::Object>>>._val
_valPoco.Dynamic.VarHolderImpl<Poco::JSON::Object>._val
_valPoco.Dynamic.VarHolderImpl<Poco::Data::Date>._val
_valPoco.Dynamic.VarHolderImpl<Poco::Data::Time>._val
_valPoco.Dynamic.VarHolderImpl<Poco::Data::LOB<unsignedchar>>._val
_valPoco.Dynamic.VarHolderImpl<Poco::Data::LOB<char>>._val
_metaColumnPoco.Data.Column<std::vector<bool,std::allocator<bool>>>._metaColumn
_pDataPoco.Data.Column<std::vector<bool,std::allocator<bool>>>._pData
_metaColumnPoco.Data.Column<list<type-parameter-0-0,allocator<type-parameter-0-0> >>._metaColumn
_pDataPoco.Data.Column<list<type-parameter-0-0,allocator<type-parameter-0-0> >>._pData
_posPoco.Data.Preparation<vector<type-parameter-0-0,allocator <type-parameter-0-0>>>._pos
_valPoco.Data.Preparation<vector<type-parameter-0-0,allocator <type-parameter-0-0>>>._val
_posPoco.Data.Preparation<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>._pos
_valPoco.Data.Preparation<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>._val
_posPoco.Data.Preparation<list<type-parameter-0-0,allocator <type-parameter-0-0>>>._pos
_valPoco.Data.Preparation<list<type-parameter-0-0,allocator <type-parameter-0-0>>>._val
_rResultPoco.Data.Extraction<vector<type-parameter-0-0,allocator <type-parameter-0-0>>>._rResult
_defaultPoco.Data.Extraction<vector<type-parameter-0-0,allocator <type-parameter-0-0>>>._default
_rResultPoco.Data.Extraction<std::vector<bool,std::allocator<bool>>>._rResult
_defaultPoco.Data.Extraction<std::vector<bool,std::allocator<bool>>>._default
_rResultPoco.Data.Extraction<list<type-parameter-0-0,allocator <type-parameter-0-0>>>._rResult
_defaultPoco.Data.Extraction<list<type-parameter-0-0,allocator <type-parameter-0-0>>>._default
_rResultPoco.Data.Extraction<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>._rResult
_defaultPoco.Data.Extraction<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>._default
_rResultPoco.Data.Extraction<set<type-parameter-0-0,less<type-parameter-0-0> ,allocator<type-parameter-0-0>>>._rResult
_defaultPoco.Data.Extraction<set<type-parameter-0-0,less<type-parameter-0-0> ,allocator<type-parameter-0-0>>>._default
_rResultPoco.Data.Extraction<multiset<type-parameter-0-0,less <type-parameter-0-0>,allocator<type-parameter-0-0>>>._rResult
_defaultPoco.Data.Extraction<multiset<type-parameter-0-0,less <type-parameter-0-0>,allocator<type-parameter-0-0>>>._default
_rResultPoco.Data.Extraction<map<type-parameter-0-0,type-parameter-0-1,less <type-parameter-0-0>,allocator<pair<consttype-parameter-0-0 ,type-parameter-0-1>>>>._rResult
_defaultPoco.Data.Extraction<map<type-parameter-0-0,type-parameter-0-1,less <type-parameter-0-0>,allocator<pair<consttype-parameter-0-0 ,type-parameter-0-1>>>>._default
_rResultPoco.Data.Extraction<multimap<type-parameter-0-0,type-parameter-0-1 ,less<type-parameter-0-0>,allocator<pair<consttype-parameter-0-0 ,type-parameter-0-1>>>>._rResult
_defaultPoco.Data.Extraction<multimap<type-parameter-0-0,type-parameter-0-1 ,less<type-parameter-0-0>,allocator<pair<consttype-parameter-0-0 ,type-parameter-0-1>>>>._default
_valPoco.Data.Binding<constchar*>._val
_boundPoco.Data.Binding<constchar*>._bound
_boundPoco.Data.CopyBinding<constchar*>._bound
_valPoco.Data.Binding<vector<type-parameter-0-0,allocator <type-parameter-0-0>>>._val
_pValPoco.Data.CopyBinding<vector<type-parameter-0-0,allocator <type-parameter-0-0>>>._pVal
_valPoco.Data.Binding<std::vector<bool,std::allocator<bool>>>._val
_valPoco.Data.Binding<list<type-parameter-0-0,allocator<type-parameter-0-0 >>>._val
_pValPoco.Data.CopyBinding<list<type-parameter-0-0,allocator <type-parameter-0-0>>>._pVal
_valPoco.Data.Binding<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>._val
_pValPoco.Data.CopyBinding<deque<type-parameter-0-0,allocator <type-parameter-0-0>>>._pVal
_valPoco.Data.Binding<set<type-parameter-0-0,less<type-parameter-0-0> ,allocator<type-parameter-0-0>>>._val
_pValPoco.Data.CopyBinding<set<type-parameter-0-0,less<type-parameter-0-0> ,allocator<type-parameter-0-0>>>._pVal
_valPoco.Data.Binding<multiset<type-parameter-0-0,less<type-parameter-0-0> ,allocator<type-parameter-0-0>>>._val
_pValPoco.Data.CopyBinding<multiset<type-parameter-0-0,less <type-parameter-0-0>,allocator<type-parameter-0-0>>>._pVal
_valPoco.Data.Binding<map<type-parameter-0-0,type-parameter-0-1,less <type-parameter-0-0>,allocator<pair<consttype-parameter-0-0 ,type-parameter-0-1>>>>._val

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:

Trend Charts