Maximum cp level of your Pokémon changes as you level up according to an algorithm. Yes, you can measure this with a protractor, but to truly understand the math behind it, you need to look at the data of the system. I would also like to add that it is yet a bit unclear about whether or not the size xs or xl affect this. I do not believe it currently does, but algorithms can change with updates ;)
Based on the data from what someone wrote about max trainer level in another forum, click this link to see the algorithm for max cp increases as you're leveling up. Here is the link to the datamining:
https://gist.github.com/KazWolfe/68e10ebf1ed41ae1ae6de2350d5de884#file-pokemon-go-data-dump-txt-L618
Also-- there's a lot of other useful info in that data, so enjoy ;)
Source article:
"According to this article the maximum trainer Level is 40. They found the information with datamining, there is no official statement about this.
Two more sources (thx to Kaz Wolfe): source1 source2
You need 5 million experience points to reach from level 39 to 40.
Afaik at the moment (20.07) the highest level players reached is level 30 and they need 500k xp for level 31